blob: c8d8c8bbae41df630442ed6185bde9de47441f5a (
plain) (
tree)
|
|
with import ./libs.nix;
with import <nixpkgs> {};
let
mypkgs = {};
mypkgs.ledger = (ledger.override { boost = boost166; }).overrideAttrs (_old:
fetchedGithub ./fetched/ledger.json // {
postInstall = "";
}
);
mypkgs.taskwarrior = taskwarrior.overrideAttrs (old: rec {
postInstall = ''${old.postInstall}
mkdir -p "$out/share/vim/vimfiles/ftdetect"
mkdir -p "$out/share/vim/vimfiles/syntax"
ln -s "../../../../share/doc/task/scripts/vim/ftdetect/task.vim" "$out/share/vim/vimfiles/ftdetect/"
ln -s "../../../../share/doc/task/scripts/vim/syntax/taskrc.vim" "$out/share/vim/vimfiles/syntax/"
ln -s "../../../../share/doc/task/scripts/vim/syntax/taskdata.vim" "$out/share/vim/vimfiles/syntax/"
ln -s "../../../../share/doc/task/scripts/vim/syntax/taskedit.vim" "$out/share/vim/vimfiles/syntax/"
'';
});
mypkgs.vit = (vit.override { taskwarrior = mypkgs.taskwarrior; }).overrideAttrs (old:
fetchedGithub ./fetched/vit.json // {
buildInputs = old.buildInputs ++ [perlPackages.TryTiny perlPackages.TextCharWidth];
}
);
mypkgs.weboob = pythonPackages.weboob.overrideAttrs (old: rec {
postInstall = ''${old.postInstall or ""}
mkdir -p $out/share/bash-completion/completions/
cp tools/weboob_bash_completion $out/share/bash-completion/completions/weboob
'';
});
mypkgs.slrn = slrn.overrideAttrs (old: rec {
version = "1.0.3a";
name = "slrn-${version}";
src = fetchurl {
url = "http://www.jedsoft.org/releases/slrn/slrn-${version}.tar.bz2";
sha256 = "1b1d9iikr60w0vq86y9a0l4gjl0jxhdznlrdp3r405i097as9a1v";
};
configureFlags = old.configureFlags ++ [ "--with-slrnpull" ];
});
mypkgs.ldapvi = ldapvi.overrideAttrs (old: fetchedGit ./fetched/ldapvi.json);
nixos = import ./nixos_tools.nix {};
mypkgs.pass = (pass.withExtensions (exts: [ exts.pass-otp ])).overrideAttrs (old:
fetchedGit ./fetched/pass.json // {
patches = old.patches ++ [ ./patches/pass-fix-pass-init.patch ];
}
);
mypkgs.profanity = (profanity.override {
notifySupport = true;
inherit libnotify gpgme gdk_pixbuf;
python = python3;
}).overrideAttrs (old: rec {
configureFlags = old.configureFlags ++ [ "--enable-plugins" ];
});
mypkgs.weechat = nixpkgs_unstable.weechat.override {
configure = { availablePlugins, ... }: {
plugins = with availablePlugins; [
(python.withPackages (ps: with ps; [websocket_client emoji]))
perl
ruby
];
};
};
buildPerlPackage = perlPackages.buildPerlPackage;
mypkgs.note = buildPerlPackage rec {
name = "note-1.3.26";
src = fetchurl {
url = "mirror://cpan/authors/id/T/TL/TLINDEN/${name}.tar.gz";
sha256 = "1h645rnb5vpms48fcyzvp7cwwcbf9k5xq49w2bpniyzzgk2brjrq";
};
outputs = ["out" "man"];
propagatedBuildInputs = [ perlPackages.YAML ];
meta = with stdenv.lib; {
description = "A perl script for maintaining notes";
homepage = http://www.daemon.de/NOTE;
license = licenses.gpl3;
maintainers = with maintainers; [ { name = "T.v.Dein"; email = "tlinden@cpan.org"; } ];
platforms = platforms.unix;
};
};
mypkgs.terminal-velocity = with python2Packages; buildPythonApplication rec {
pname = "terminal-velocity-git";
version = "0.2.0";
patches = [
# FIXME: update this patch when version changes
./patches/terminal_velocity_fix_build.patch
./patches/terminal_velocity_sort_found_notes.patch
];
propagatedBuildInputs = [ chardet urwid nixpkgs_unstable.python2Packages.sh pyyaml ];
buildInputs = [ m2r restructuredtext_lint pygments ];
postInstall = ''
rm $out/bin/terminal_velocity
'';
src = fetchPypi {
inherit pname version;
sha256 = "13yrkcmvh5h5fwnai61sbmqkrjyisz08n62pq0ada2lyyqf7g6b9";
};
};
mypkgs.mtop = buildPerlPackage rec {
name = "mtop-${version}";
version = "0.6.6";
src = fetchurl {
url = "http://downloads.sourceforge.net/project/mtop/mtop/v${version}/mtop-${version}.tar.gz";
sha256 = "0x0x5300b1j9i0xxk8rsrki0pspyzj2vylhzv8qg3l6j26aw0zrf";
};
outputs = ["out"];
buildInputs = [ perlPackages.DBI perlPackages.DBDmysql perlPackages.Curses ];
postInstall = ''
cd "$out"
preConfigure || true
'';
meta = with stdenv.lib; {
description = "MySQL top (monitor and examine slow queries)";
homepage = http://mtop.sourceforge.net/;
license = licenses.gpl3;
maintainers = with maintainers; [ { name = "Marc Prewitt"; email = "mprewitt@chelsea.net"; } ];
platforms = platforms.unix;
};
};
mypkgs.tiv = buildPerlPackage rec {
name = "tiv-${version}";
version = "2015";
src = fetchurl {
url = "http://xyne.archlinux.ca/projects/tiv/src/tiv-${version}.tar.xz";
sha256 = "1vq073v7z7vmcd57lhs4rf4jasji69cpjgkz4dykp94a77p1qq90";
};
outputs = ["out"];
buildInputs = [ perlPackages.PerlMagick ];
perlPreHookScript = ./hooks/tiv_builder.sh;
perlPreHook = ''
source ${perlPreHookScript}
'';
installPhase = ''
install -Dm755 tiv "$out/bin/tiv"
'';
};
mypkgs.cnagios = stdenv.mkDerivation (fetchedGithub ./fetched/cnagios.json // rec {
configureFlags = [
"--with-etc-dir=/etc/cnagios"
"--with-var-dir=/var/lib/naemon"
"--with-nagios-data=4"
];
prePatch = ''
sed -i -e "s/-lcurses/-lncurses/" Makefile.in
'';
installPhase = ''
install -dm755 $out/share/doc/cnagios
install -Dm644 cnagiosrc $out/share/doc/cnagios/
install -Dm644 cnagios.help $out/share/doc/cnagios/
install -Dm644 cnagios.pl $out/share/doc/cnagios/
install -dm755 $out/bin
install -Dm755 cnagios $out/bin/
'';
propagatedBuildInputs = [ perl ncurses ];
});
mypkgs.nagios-cli = python2Packages.buildPythonApplication (fetchedGithub ./fetched/nagios-cli.json);
mypkgs.pg_activity = with python2Packages; buildPythonApplication (fetchedGithub ./fetched/pg_activity.json // rec {
propagatedBuildInputs = [ psycopg2 psutil ];
});
mypkgs.pgloader = stdenv.mkDerivation (fetchedGithub ./fetched/pgloader.json // rec {
buildInputs = [ sbcl cacert sqlite freetds libzip curl git openssl makeWrapper ];
LD_LIBRARY_PATH = stdenv.lib.makeLibraryPath [ sqlite libzip curl git openssl freetds ];
buildPhase = ''
export PATH=$PATH:$out/bin
export HOME=$TMPDIR
make pgloader
'';
dontStrip = true;
enableParallelBuilding = false;
installPhase = ''
install -Dm755 build/bin/pgloader "$out/bin/pgloader"
wrapProgram $out/bin/pgloader --prefix LD_LIBRARY_PATH : "${LD_LIBRARY_PATH}"
'';
});
mypkgs.pelican = python3Packages.pelican.overrideAttrs(old: fetchedGithub ./fetched/pelican.json // rec {
propagatedBuildInputs = old.propagatedBuildInputs ++ [ python3Packages.pyyaml ];
});
mypkgs.elinks = elinks.overrideAttrs (old:
fetchedGithub ./fetched/elinks.json // rec {
preConfigure = ''sh autogen.sh'';
buildInputs = old.buildInputs ++ [ gettext automake autoconf ];
configureFlags = [
"--disable-smb" "--without-x" "--enable-cgi"
"--enable-leds" "--enable-256-colors"
"--enable-html-highlight" "--with-zlib"
];
patches = [];
}
);
mypkgs.neomutt = neomutt.overrideAttrs (old:
rec {
buildInputs = old.buildInputs ++ [ gdbm ];
configureFlags = old.configureFlags ++ [ "--gdbm" ];
}
);
# mypkgs.nagnu = stdenv.mkDerivation (fetchedGithub ./fetched/nagnu.json // rec {
# buildInputs = [ ncurses curl ];
# installPhase = ''
# mkdir -p $out/bin
# cp nagnu $out/bin
# mkdir -p $out/share/doc/nagnu
# cp nagnu.conf.sample $out/share/doc/nagnu
# mkdir -p $out/share/man/man8
# cp docs/nagnu.8 $out/share/man/man8
# '';
# });
mypkgs.goaccess = goaccess.overrideAttrs(old: rec {
name = "goaccess-${version}";
version = "1.3";
src = fetchurl {
url = "https://tar.goaccess.io/${name}.tar.gz";
sha256 = "16vv3pj7pbraq173wlxa89jjsd279004j4kgzlrsk1dz4if5qxwc";
};
configureFlags = old.configureFlags ++ [ "--enable-tcb=btree" ];
buildInputs = old.buildInputs ++ [ tokyocabinet bzip2 ];
});
mypkgs.mutt-ics = with python3Packages; buildPythonApplication (fetchedGithub ./fetched/mutt-ics.json // rec {
propagatedBuildInputs = [ icalendar ];
});
mypkgs.telegram-cli = stdenv.mkDerivation (fetchedGithub ./fetched/telegram-cli.json // rec {
patches = [
./patches/telegram-cli.patch
];
buildInputs = [ pkgconfig libevent lua jansson openssl readline zlib libconfig ];
preBuild = ''
sed -i -e 's@"/etc/" PROG_NAME "/server.pub"@"'$out'/etc/server.pub"@' main.c
'';
installPhase = ''
mkdir -p $out
install -Dm755 bin/telegram-cli $out/bin/telegram-cli
install -Dm644 tg-server.pub $out/etc/server.pub
install -Dm644 debian/telegram-cli.8 $out/man/man8/telegram-cli.8
'';
});
mypkgs.telegram-history-dump = stdenv.mkDerivation (fetchedGithub ./fetched/telegram-history-dump.json // rec {
installPhase = ''
mkdir -p $out/lib $out/bin
cp -a $src $out/lib/telegram-history-dump
ln -s $out/lib/telegram-history-dump/telegram-history-dump.rb $out/bin/telegram-history-dump
'';
buildInputs = [ ruby ];
});
mypkgs.muttprint = stdenv.mkDerivation rec {
name = "muttprint-${version}";
version = "0.73";
src = fetchurl {
url = "http://downloads.sf.net/muttprint/${name}.tar.gz";
sha256 = "1dny4niyibfgazwlzfcnb37jy6k140rs6baaj629z12rmahfdavw";
};
patches = [
./patches/muttprint_0.73-4.diff.gz
./patches/muttprint_regex.patch
./patches/muttprint_two_edge.patch
];
preConfigure = ''
aclocal
automake --add-missing --copy
autoconf
'';
preBuild = ''
cd pics
convert -flop BabyTuX.eps BabyTuX.eps
for i in BabyTuX_color.eps BabyTuX.eps Debian_color.eps \
Debian.eps Gentoo.eps Gentoo_color.eps ; do
convert $i $(basename $i .eps).png
done
convert penguin.eps penguin.jpg
cd ..
'';
postInstall = ''
perlFlags=
for i in $(IFS=:; echo $PERL5LIB); do
perlFlags="$perlFlags -I$i"
done
sed -i "$out/bin/muttprint" -e "s|^#\!\(.*[ /]perl.*\)$|#\!\1$perlFlags|"
sed -i "$out/bin/muttprint" -e "s|ENV{HOME}/.muttprintrc|ENV{XDG_CONFIG_HOME}/muttprint/muttprintrc|"
wrapProgram $out/bin/muttprint \
--prefix PATH : ${lib.makeBinPath [ psutils dialog
(texlive.combine { inherit (texlive) scheme-basic utopia fancyvrb lastpage marvosym ucs cm-super; }) ]}
'';
buildInputs = [ makeWrapper automake autoconf imagemagick ghostscript perl ] ++
(with perlPackages; [ TimeDate FileWhich TextIconv ]);
};
mypkgs.yarn2nix = yarn2nixPackage.yarn2nix;
mypkgs.cardano = let
daedalusOrig = (import (fetchedGithub ./fetched/daedalus.json).src {}).daedalus;
cfg = stdenv.mkDerivation rec {
name = "launcher-config-custom";
src = daedalusOrig.cfg;
installPhase = ''
cp -a $src $out
chmod -R u+w $out
cd $out/etc
sed -e "/^walletPath/d" -e "/^walletArgs/d" launcher-config.yaml > launcher-config-server-only.yaml
'';
};
daedalus = stdenv.mkDerivation rec {
name = "daedalus-custom";
src = daedalusOrig;
installPhase = ''
cp -a $src $out
chmod -R u+w $out
cd $out/bin
sed -i -e "s@${builtins.storeDir}/[0-9a-z]*-daedalus-config@${cfg}/etc@" daedalus
sed -e "s@${cfg}/etc/launcher-config.yaml@${cfg}/etc/launcher-config-server-only.yaml@" daedalus > daedalus-server-only
chmod a+x daedalus-server-only
'';
};
in
daedalus;
mypkgs.sia = stdenv.mkDerivation rec {
version = "v1.3.7";
name = "Sia-${version}";
src = fetchzip {
url = "https://sia.tech/static/releases/${name}-linux-amd64.zip";
sha256 = "1ljzwrlkx4hc16r8siiyakn039afipp95dyr83c8yfq3r3bfasqd";
};
phases = "installPhase";
installPhase = ''
mkdir -p $out/share/doc
mkdir -p $out/bin
mkdir -p $out/share/sia
cp -a $src/doc $out/share/doc/sia
cp -a $src/LICENSE $src/README.md $out/share/sia
cp -a $src/{siac,siad} $out/bin
cp -a $src/{siac,siad}.sig $out/share/sia/
'';
};
mypkgs.iota-cli-app = let
nodeEnv = pkgs.callPackage "${nodePackages.node2nix}/lib/node_modules/node2nix/nix/node-env.nix" {
nodejs = nodejs-8_x;
};
# built using node2nix -8 -l package-lock.json
# and changing "./." to "src"
packageEnv = import ./fetched/iota-cli-app-node-packages.nix {
src = stdenv.mkDerivation (fetchedGithub ./fetched/iota-cli-app.json // {
phases = "installPhase";
installPhase = ''
cp -a $src $out
chmod u+w -R $out
cd $out
sed -i -e "s@host: 'http://localhost',@host: 'https://iri.trytes.eu',@" index.js
sed -i -e "s@port: 14265@port: 443@" index.js
'';
});
inherit (pkgs) fetchurl fetchgit;
inherit nodeEnv;
};
in
packageEnv.package;
mypkgs.duply = stdenv.mkDerivation rec {
name = "duply-${version}";
version = "2.1";
src = fetchurl {
url = "mirror://sourceforge/project/ftplicity/duply%20%28simple%20duplicity%29/2.1.x/duply_${version}.tgz";
sha256 = "0i5j7h7h6ssrwhll0sfhymisshg54kx7j45zcqffzjxa0ylvzlm8";
};
buildInputs = [ txt2man makeWrapper ];
postPatch = "patchShebangs .";
installPhase = ''
mkdir -p "$out/bin"
mkdir -p "$out/share/man/man1"
install -vD duply "$out/bin"
sed -i $out/bin/duply -e "1a \
export PATH='${stdenv.lib.makeBinPath [ coreutils python2 duplicity gawk gnupg1 bash gnugrep txt2man which ]}'
" -e "1a \
export DUPL_PYTHON_BIN=$(basename ${duplicity}/lib/python*)
"
"$out/bin/duply" txt2man > "$out/share/man/man1/duply.1"
'';
meta = with stdenv.lib; {
description = "Shell front end for the duplicity backup tool";
longDescription = ''
Duply is a shell front end for the duplicity backup tool
http://duplicity.nongnu.org/. It greatly simplifies it's usage by
implementing backup job profiles, batch commands and more. Who says
secure backups on non-trusted spaces are no child's play?
'';
homepage = http://duply.net/;
license = licenses.gpl2;
maintainers = [ maintainers.bjornfor ];
platforms = stdenv.lib.platforms.unix;
};
};
mypkgs.boinctui = stdenv.mkDerivation rec {
name = "boinctui-${version}";
version = "2.5.0";
src = fetchurl {
url = "http://sourceforge.net/projects/boinctui/files/boinctui_${version}.tar.gz";
sha256 = "16zxp8r4z6pllacdacg681y56cg2phnn3pm5gwszbsi93cix2g8p";
};
configureFlags = [ "--without-gnutls" ];
preConfigure = ''
autoconf
'';
preBuild = ''
sed -i -e 's/"HOME"/"XDG_CONFIG_HOME"/' src/cfg.cpp
sed -i -e 's@\.boinctui\.cfg@boinctui/boinctui.cfg@' src/mainprog.cpp
'';
buildInputs = [ expat openssl autoconf ncurses ];
};
mypkgs.sc-im = sc-im.overrideAttrs (old: {
buildPhase = ''
cd src
sed -i Makefile -e 's@\...name.info@.local/state/$(name)info@'
cd ..
'' + old.buildPhase;
});
mypkgs.notmuch-vim = stdenv.mkDerivation rec {
name = "notmuch-vim-${version}";
version = nixpkgs_unstable.notmuch.version;
outputs = [ "out" ];
src = nixpkgs_unstable.notmuch.src;
phases = [ "unpackPhase" "installPhase" ];
installPhase = ''
make -C vim DESTDIR=$out prefix="/share/vim/vimfiles" install
'';
};
mypkgs.notmuch-python2 = stdenv.mkDerivation rec {
name = "notmuch-python2-${version}";
version = nixpkgs_unstable.notmuch.version;
outputs = [ "out" ];
buildInputs = [ python2Packages.sphinx python2Packages.python ];
src = nixpkgs_unstable.notmuch.src;
phases = [ "unpackPhase" "buildPhase" "installPhase" "fixupPhase" ];
buildPhase = ''
cd bindings/python
python setup.py build
'';
installPhase = ''
python setup.py install --prefix=$out --optimize=1
'';
};
mypkgs.notmuch-python3 = stdenv.mkDerivation rec {
name = "notmuch-python3-${version}";
version = nixpkgs_unstable.notmuch.version;
outputs = [ "out" ];
buildInputs = [ nixpkgs_unstable.python3Packages.sphinx nixpkgs_unstable.python3Packages.python ];
src = nixpkgs_unstable.notmuch.src;
phases = [ "unpackPhase" "buildPhase" "installPhase" "fixupPhase" ];
buildPhase = ''
cd bindings/python
python setup.py build
'';
installPhase = ''
python setup.py install --prefix=$out --optimize=1
'';
};
mypkgs.telegramircd = with python3Packages; let
telethon = buildPythonPackage rec {
pname = "Telethon-sync";
version = "1.1.1";
src = fetchPypi {
inherit pname version;
sha256 =
"01z8fzqn0qs5pxhvzq891r3mwffq1ga3f8xvm7qdn6kvmxjni9fy";
};
propagatedBuildInputs = with self; [
rsa pyaes async_generator
];
doCheck = false;
meta = with lib; {
homepage = https://github.com/LonamiWebs/Telethon;
description = "Full-featured Telegram client library for Python 3";
license = licenses.mit;
};
};
in
buildPythonApplication rec {
format = "other";
pname = "telegramircd";
version = "master";
propagatedBuildInputs = [ telethon aiohttp ConfigArgParse openssl ];
src = (fetchedGithub ./fetched/telegramircd.json).src;
LD_LIBRARY_PATH = "${openssl.out}/lib";
installPhase = ''
install -D $src/telegramircd.py $out/bin/telegramircd
wrapProgram "$out/bin/telegramircd" \
--prefix LD_LIBRARY_PATH : "${openssl.out}/lib"
install -Dm644 "$src/config" -t "$out/etc/telegramircd/"
'';
};
# https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh
# https://github.com/NixOS/nixpkgs/blob/master/doc/languages-frameworks
in
mypkgs // {
inherit nix-prefetch-scripts;
inherit nix-generate-from-cpan;
inherit timewarrior;
inherit pal;
inherit pdftk;
inherit googler;
inherit jrnl;
inherit apg pwgen;
inherit newsboat;
inherit vcsh;
inherit xmr-stak;
inherit urlwatch;
inherit ranger;
inherit irssi;
inherit abook khard khal;
inherit graphicsmagick;
inherit youtube-dl;
inherit ncmpc ncmpcpp;
inherit cadaver;
inherit mairix notmuch;
inherit ctags;
inherit s3cmd;
inherit solc; # solidity
inherit rtorrent;
inherit strace;
inherit vdirsyncer;
inherit w3m lynx links;
inherit gitRepo;
inherit valgrind;
inherit iotop iperf;
inherit keybase;
inherit bogofilter;
inherit mtr;
inherit nixops;
inherit urlview;
inherit rr;
inherit nix-zsh-completions;
inherit browsh;
inherit monero;
inherit nextcloud-client;
inherit feh imagemagick;
inherit lftp;
stgit = gitAndTools.stgit;
# todo: lx* ?, unrar, unzip, zeromq?
#inherit nextcloud-client;
#inherit nixos;
} // (with nixpkgs_unstable; {
inherit googler;
inherit khal;
inherit newsboat;
inherit xmr-stak;
inherit urlwatch;
inherit graphicsmagick;
inherit ncmpc;
inherit solc;
inherit w3m lynx links;
inherit valgrind;
inherit ranger;
inherit strace;
inherit notmuch notmuch-mutt;
stgit = gitAndTools.stgit;
inherit bundix;
bower2nix = nodePackages.bower2nix;
})
|