83 lines
2.3 KiB
Nix
83 lines
2.3 KiB
Nix
{ stdenv, fetchurl
|
|
, bundlerEnv, ruby
|
|
, alsaUtils, libnotify, which, wrapGAppsHook, gtk2, atk, gobject-introspection
|
|
}:
|
|
|
|
# how to update:
|
|
# find latest version at: http://mikutter.hachune.net/download#download
|
|
# run these commands:
|
|
#
|
|
# wget http://mikutter.hachune.net/bin/mikutter.4.0.0.tar.gz
|
|
# mkdir mikutter
|
|
# cd mikutter
|
|
# tar xvf ../mikutter.4.0.0.tar.gz
|
|
# find . -not -name Gemfile -exec rm {} \;
|
|
# find . -type d -exec rmdir -p --ignore-fail-on-non-empty {} \;
|
|
# cd ..
|
|
# mv mikutter/* .
|
|
# rm mikutter.4.0.0.tar.gz
|
|
# rm gemset.nix Gemfile.lock; nix-shell -p bundler bundix --run 'bundle lock && bundix'
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "mikutter";
|
|
version = "4.0.0";
|
|
|
|
src = fetchurl {
|
|
url = "https://mikutter.hachune.net/bin/mikutter.${version}.tar.gz";
|
|
sha256 = "0nx14vlp7p69m2vw0s6kbiyymsfq0r2jd4nm0v5c4xb9avkpgc8g";
|
|
};
|
|
|
|
buildInputs = [ alsaUtils libnotify which gtk2 ruby atk gobject-introspection ];
|
|
nativeBuildInputs = [ wrapGAppsHook ];
|
|
|
|
unpackPhase = ''
|
|
mkdir source
|
|
cd source
|
|
unpackFile $src
|
|
rm -rf vendor
|
|
'';
|
|
|
|
installPhase = let
|
|
env = bundlerEnv {
|
|
name = "mikutter-${version}-gems";
|
|
gemdir = ./.;
|
|
|
|
inherit ruby;
|
|
};
|
|
in ''
|
|
install -v -D -m644 README $out/share/doc/mikutter/README
|
|
install -v -D -m644 LICENSE $out/share/doc/mikutter/LICENSE
|
|
rm -v README LICENSE
|
|
|
|
cp -rv . $out
|
|
mkdir $out/bin/
|
|
# hack wrapGAppsHook wants a file not a symlink
|
|
mv $out/mikutter.rb $out/bin/mikutter
|
|
|
|
gappsWrapperArgs+=(
|
|
--prefix PATH : "${ruby}/bin:${alsaUtils}/bin:${libnotify}/bin"
|
|
--prefix GEM_HOME : "${env}/${env.ruby.gemPath}"
|
|
--set DISABLE_BUNDLER_SETUP 1
|
|
)
|
|
# --prefix GIO_EXTRA_MODULES : "$prefix/lib/gio/modules"
|
|
|
|
mkdir -p $out/share/mikutter $out/share/applications
|
|
ln -sv $out/core/skin $out/share/mikutter/skin
|
|
substituteAll ${./mikutter.desktop} $out/share/applications/mikutter.desktop
|
|
'';
|
|
|
|
postFixup = ''
|
|
mv $out/bin/.mikutter-wrapped $out/mikutter.rb
|
|
substituteInPlace $out/bin/mikutter \
|
|
--replace "$out/bin/.mikutter-wrapped" "$out/mikutter.rb"
|
|
'';
|
|
|
|
meta = with stdenv.lib; {
|
|
description = "An extensible Twitter client";
|
|
homepage = "https://mikutter.hachune.net";
|
|
platforms = ruby.meta.platforms;
|
|
license = licenses.mit;
|
|
broken = true;
|
|
};
|
|
}
|