+
+ 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