]> git.immae.eu Git - perso/Immae/Config/Nix.git/commitdiff
Move more packages to split files
authorIsmaël Bouya <ismael.bouya@normalesup.org>
Fri, 26 Apr 2019 10:12:12 +0000 (12:12 +0200)
committerIsmaël Bouya <ismael.bouya@normalesup.org>
Fri, 26 Apr 2019 10:12:12 +0000 (12:12 +0200)
19 files changed:
default.nix
pkgs/boinctui/default.nix [new file with mode: 0644]
pkgs/crypto/cardano/daedalus.json [moved from fetched/daedalus.json with 100% similarity]
pkgs/crypto/cardano/default.nix [new file with mode: 0644]
pkgs/crypto/iota-cli-app/default.nix [new file with mode: 0644]
pkgs/crypto/iota-cli-app/iota-cli-app-node-packages.nix [moved from fetched/iota-cli-app-node-packages.nix with 100% similarity]
pkgs/crypto/iota-cli-app/iota-cli-app.json [moved from fetched/iota-cli-app.json with 100% similarity]
pkgs/crypto/sia/default.nix [new file with mode: 0644]
pkgs/duply/default.nix [new file with mode: 0644]
pkgs/flrn/default.nix [new file with mode: 0644]
pkgs/flrn/flrn.json [moved from fetched/flrn.json with 100% similarity]
pkgs/genius/default.nix [new file with mode: 0644]
pkgs/notmuch/notmuch-python/default.nix [new file with mode: 0644]
pkgs/notmuch/notmuch-vim/default.nix [new file with mode: 0644]
pkgs/slang_1/default.nix [new file with mode: 0644]
pkgs/telegramircd/default.nix [new file with mode: 0644]
pkgs/telegramircd/telegramircd.json [moved from fetched/telegramircd.json with 100% similarity]
pkgs/telethon_sync/default.nix [new file with mode: 0644]
pkgs/unicode/default.nix [new file with mode: 0644]

index 7b2ca98f333a1ff52e5b70ab874d654352c1e4bf..ae3b2b76bedaade975f60b7e8e961af533b3846b 100644 (file)
@@ -74,19 +74,38 @@ let
     };
   };
 
+  mypkgs.boinctui = callPackage ./pkgs/boinctui {};
   mypkgs.cnagios = callPackage ./pkgs/cnagios { inherit fetchedGithub; };
+  mypkgs.duply = callPackage ./pkgs/duply {};
+  mypkgs.flrn = callPackage ./pkgs/flrn {
+    slang = callPackage ./pkgs/slang_1 {};
+    inherit fetchedGithub;
+  };
+  mypkgs.genius = callPackage ./pkgs/genius {};
   mypkgs.mtop = callPackage ./pkgs/mtop {};
   mypkgs.muttprint = callPackage ./pkgs/muttprint {};
   mypkgs.mutt-ics = callPackage ./pkgs/mutt-ics { inherit fetchedGithub; };
   mypkgs.nagios-cli = callPackage ./pkgs/nagios-cli { inherit fetchedGithub; };
   #mypkgs.nagnu = callPackage ./pkgs/nagnu { inherit fetchedGithub; };
   mypkgs.note = callPackage ./pkgs/note {};
+  mypkgs.notmuch-python2 = callPackage ./pkgs/notmuch/notmuch-python { pythonPackages = python2Packages; };
+  mypkgs.notmuch-python3 = callPackage ./pkgs/notmuch/notmuch-python { pythonPackages = python3Packages; };
+  mypkgs.notmuch-vim = callPackage ./pkgs/notmuch/notmuch-vim {};
   mypkgs.pg_activity = callPackage ./pkgs/pg_activity { inherit fetchedGithub; };
   mypkgs.pgloader = callPackage ./pkgs/pgloader { inherit fetchedGithub; };
   mypkgs.telegram-cli = callPackage ./pkgs/telegram-cli { inherit fetchedGithub; };
   mypkgs.telegram-history-dump = callPackage ./pkgs/telegram-history-dump { inherit fetchedGithub; };
+  mypkgs.telegramircd = callPackage ./pkgs/telegramircd {
+    telethon = callPackage ./pkgs/telethon_sync {};
+    inherit fetchedGithub;
+  };
   mypkgs.terminal-velocity = callPackage ./pkgs/terminal-velocity {};
   mypkgs.tiv = callPackage ./pkgs/tiv {};
+  mypkgs.unicode = callPackage ./pkgs/unicode {};
+
+  mypkgs.cardano = callPackage ./pkgs/crypto/cardano { inherit fetchedGithub; };
+  mypkgs.iota-cli-app = callPackage ./pkgs/crypto/iota-cli-app { inherit fetchedGithub; };
+  mypkgs.sia = callPackage ./pkgs/crypto/sia {};
 
   mypkgs.pelican = python3Packages.pelican.overrideAttrs(old: fetchedGithub ./fetched/pelican.json // rec {
     propagatedBuildInputs = old.propagatedBuildInputs ++ [ python3Packages.pyyaml ];
@@ -125,134 +144,6 @@ let
 
   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 = ''
@@ -262,156 +153,10 @@ let
       '' + old.buildPhase;
   });
 
-  mypkgs.notmuch-vim = stdenv.mkDerivation rec {
-    name = "notmuch-vim-${version}";
-    version = notmuch.version;
-    outputs = [ "out" ];
-    src = 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 = notmuch.version;
-    outputs = [ "out" ];
-    buildInputs = [ python2Packages.sphinx python2Packages.python ];
-    src = 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 = notmuch.version;
-    outputs = [ "out" ];
-    buildInputs = [ python3Packages.sphinx python3Packages.python ];
-    src = 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/"
-        '';
-    };
-
   mypkgs.lesspipe = lesspipe.overrideAttrs(old: {
     configureFlags = (old.configureFlags or []) ++ [ "--yes" ];
   });
 
-  mypkgs.genius = stdenv.mkDerivation rec {
-    name = "genius-${version}";
-    version = "1.0.24";
-    src = fetchurl {
-      url = "https://download.gnome.org/sources/genius/1.0/${name}.tar.xz";
-      sha256 = "772f95f6ae4716d39bb180cd50e8b6b9b074107bee0cd083b825e1e6e55916b6";
-    };
-    buildInputs = [
-      mpfr glib hicolor-icon-theme gtk2 intltool gnome-doc-utils python3 gnome2.gtksourceview
-      autoconf automake libtool ncurses readline pkg-config
-    ];
-    preConfigure = ''
-      autoreconf -fi
-      '';
-    preBuild = ''
-      sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
-      '';
-  };
-
-  mypkgs.unicode = let
-    version = "12.0";
-    version-full = "${version}.0";
-    files = {
-      emoji-data = fetchurl {
-        url = "http://www.unicode.org/Public/emoji/${version}/emoji-data.txt";
-        sha256 = "03sf7h1d6kb9m5s02lif88jsi5kjszpkfvcymaqxj8ds70ar9pgv";
-      };
-      emoji-sequences = fetchurl {
-        url = "http://www.unicode.org/Public/emoji/${version}/emoji-sequences.txt";
-        sha256 = "1hghki2rn3n7m4lwpwi2a5wrsf2nij4bxga9ldabx4g0g2k23svs";
-      };
-      emoji-test = fetchurl {
-        url = "http://www.unicode.org/Public/emoji/${version}/emoji-test.txt";
-        sha256 = "1dqd0fh999mh6naj816ni113m9dimfy3ih9nffjq2lrv9mmlgdck";
-      };
-      emoji-variation-sequences = fetchurl {
-        url = "http://www.unicode.org/Public/emoji/${version}/emoji-variation-sequences.txt";
-        sha256 = "1cccwx5bl79w4c19vi5dhjqxrph92s8hihp9y8s2cqvdzmgbln7a";
-      };
-      emoji-zwj-sequences = fetchurl {
-        url = "http://www.unicode.org/Public/emoji/${version}/emoji-zwj-sequences.txt";
-        sha256 = "1l791nbijmmhwa7kmvfn8gp26ban512l6mgqpz1mnbq3xm19181n";
-      };
-    };
-    zippedFiles = {
-      UCD = fetchurl {
-        url = "http://www.unicode.org/Public/zipped/${version-full}/UCD.zip";
-        sha256 = "1ighy39cjkmqnv1797wrxjz76mv1fdw7zp5j04q55bkwxsdkvrmh";
-      };
-      Unihan = fetchurl {
-        url = "http://www.unicode.org/Public/zipped/${version-full}/Unihan.zip";
-        sha256 = "1kfdhgg2gm52x3s07bijb5cxjy0jxwhd097k5lqhvzpznprm6ibf";
-      };
-    };
-  in
-    pkgs.runCommand "unicode" {
-      buildInputs = [ libarchive ];
-    } ''
-    mkdir -p $out/share/unicode
-    ${builtins.concatStringsSep "\n" (lib.attrsets.mapAttrsToList (n: u: "install -Dm644 ${u} $out/share/unicode/emoji/${n}.txt") files)}
-    ${builtins.concatStringsSep "\n" (lib.attrsets.mapAttrsToList (n: u: ''
-      install -Dm644 ${u} $out/share/unicode/${n}.zip
-      bsdtar -C "$out/share/unicode" -x -f "$out/share/unicode/${n}.zip"
-      '') zippedFiles)}
-    '';
 
   mypkgs.dwm = dwm.overrideAttrs(old: rec {
     postPatch = ''
@@ -424,44 +169,6 @@ let
       sed -i -e "/'keyFile'/s/'path'/'string'/" nixops/backends/__init__.py
       '';
   });
-  mypkgs.flrn = let
-    slang = stdenv.mkDerivation rec {
-      name = "slang-debian-patched-${version}";
-      version = "1.4.9";
-      src = fetchurl {
-        url = "ftp://space.mit.edu/pub/davis/slang/v1.4/slang-1.4.9.tar.gz";
-        sha256 = "1y2mg0whqh4b3acd0k17i4biz55bimxg8aaxhmwd165cvspxns9r";
-      };
-      debianPatches = fetchurl {
-        url = "http://archive.debian.org/debian-archive/debian-amd64/pool/main/s/slang/slang_1.4.9dbs-8.diff.gz";
-        sha256 = "0xdq14k5ynqfwpmis1rcggs7m4n921i3bs27icbmbhfg5gb2hap2";
-      };
-      preConfigure = ''
-        cp $debianPatches ./slang.diff.gz
-        gunzip slang.diff.gz
-        patch -p1 < slang.diff
-        for i in debian/patches/*; do
-          patch -p1 < $i
-        done
-        makeFlagsArray=(CFLAGS=" -g -O2 -fno-strength-reduce -DUTF8 -D_REENTRANT -D_XOPEN_SOURCE=500")
-        '';
-      postBuild = ''
-        sed -i "1i#ifndef UTF8\n#define UTF8\n#endif" src/slang.h
-        '';
-    };
-  in
-    stdenv.mkDerivation (fetchedGithub ./fetched/flrn.json // rec {
-      buildInputs = [ libetpan openssl autoconf groff slang yacc ];
-      preConfigure = ''
-        sed -i -e "s/test -e configure/false/" configure.in
-        autoconf
-        sed -i -e '/define CHECK_MAIL/d' src/flrn_config.h
-        sed -i -e '/DEFAULT_DIR_FILE/s@".flrn"@".config/flrn"@' src/flrn_config.h
-        sed -i -e '/DEFAULT_CONFIG_FILE/s@".flrnrc"@"flrnrc"@' src/flrn_config.h
-        sed -i -e '/DEFAULT_FLNEWS_FILE/s@".flnewsrc"@"flnewsrc"@' src/flrn_config.h
-        sed -i -e '/flrn_char chaine/s@18@20@' src/flrn_command.c
-        '';
-    });
 # https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh
 # https://github.com/NixOS/nixpkgs/blob/master/doc/languages-frameworks
 in
diff --git a/pkgs/boinctui/default.nix b/pkgs/boinctui/default.nix
new file mode 100644 (file)
index 0000000..d8b106a
--- /dev/null
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, expat, openssl, autoconf, ncurses }:
+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 ];
+}
diff --git a/pkgs/crypto/cardano/default.nix b/pkgs/crypto/cardano/default.nix
new file mode 100644 (file)
index 0000000..b7cfb9f
--- /dev/null
@@ -0,0 +1,27 @@
+{ stdenv, fetchedGithub }:
+let
+  daedalusOrig = (import (fetchedGithub ./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
+      '';
+  };
+in
+stdenv.mkDerivation rec {
+  name = "daedalus-custom";
+  src = daedalusOrig;
+  buildInputs = [ 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
+    '';
+}
diff --git a/pkgs/crypto/iota-cli-app/default.nix b/pkgs/crypto/iota-cli-app/default.nix
new file mode 100644 (file)
index 0000000..a027098
--- /dev/null
@@ -0,0 +1,22 @@
+{ stdenv, fetchedGithub, fetchurl, fetchgit, callPackage, nodePackages, nodejs-8_x }:
+let
+  nodeEnv = 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 ./iota-cli-app-node-packages.nix {
+    src = stdenv.mkDerivation (fetchedGithub ./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 fetchurl fetchgit nodeEnv;
+  };
+in
+packageEnv.package
diff --git a/pkgs/crypto/sia/default.nix b/pkgs/crypto/sia/default.nix
new file mode 100644 (file)
index 0000000..45908af
--- /dev/null
@@ -0,0 +1,19 @@
+{ stdenv, fetchzip }:
+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/
+    '';
+}
diff --git a/pkgs/duply/default.nix b/pkgs/duply/default.nix
new file mode 100644 (file)
index 0000000..3816996
--- /dev/null
@@ -0,0 +1,40 @@
+{ stdenv, fetchurl, makeWrapper, coreutils, python2, duplicity, gawk, gnupg1, bash, gnugrep, txt2man, which }:
+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;
+  };
+}
diff --git a/pkgs/flrn/default.nix b/pkgs/flrn/default.nix
new file mode 100644 (file)
index 0000000..4240c57
--- /dev/null
@@ -0,0 +1,13 @@
+{ stdenv, fetchedGithub, libetpan, openssl, autoconf, groff, slang, yacc }:
+stdenv.mkDerivation (fetchedGithub ./flrn.json // {
+  buildInputs = [ libetpan openssl autoconf groff slang yacc ];
+  preConfigure = ''
+    sed -i -e "s/test -e configure/false/" configure.in
+    autoconf
+    sed -i -e '/define CHECK_MAIL/d' src/flrn_config.h
+    sed -i -e '/DEFAULT_DIR_FILE/s@".flrn"@".config/flrn"@' src/flrn_config.h
+    sed -i -e '/DEFAULT_CONFIG_FILE/s@".flrnrc"@"flrnrc"@' src/flrn_config.h
+    sed -i -e '/DEFAULT_FLNEWS_FILE/s@".flnewsrc"@"flnewsrc"@' src/flrn_config.h
+    sed -i -e '/flrn_char chaine/s@18@20@' src/flrn_command.c
+    '';
+})
similarity index 100%
rename from fetched/flrn.json
rename to pkgs/flrn/flrn.json
diff --git a/pkgs/genius/default.nix b/pkgs/genius/default.nix
new file mode 100644 (file)
index 0000000..b40d1d0
--- /dev/null
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl, mpfr, glib, hicolor-icon-theme, gtk2, intltool, gnome-doc-utils, python3, gnome2, autoconf, automake, libtool, ncurses, readline, pkg-config, }:
+stdenv.mkDerivation rec {
+  name = "genius-${version}";
+  version = "1.0.24";
+  src = fetchurl {
+    url = "https://download.gnome.org/sources/genius/1.0/${name}.tar.xz";
+    sha256 = "772f95f6ae4716d39bb180cd50e8b6b9b074107bee0cd083b825e1e6e55916b6";
+  };
+  buildInputs = [
+    mpfr glib hicolor-icon-theme gtk2 intltool gnome-doc-utils python3 gnome2.gtksourceview
+    autoconf automake libtool ncurses readline pkg-config
+  ];
+  preConfigure = ''
+    autoreconf -fi
+    '';
+  preBuild = ''
+    sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
+    '';
+}
diff --git a/pkgs/notmuch/notmuch-python/default.nix b/pkgs/notmuch/notmuch-python/default.nix
new file mode 100644 (file)
index 0000000..d639d9a
--- /dev/null
@@ -0,0 +1,16 @@
+{ stdenv, notmuch, pythonPackages }:
+stdenv.mkDerivation rec {
+  name = "notmuch-${pythonPackages.python.name}-${version}";
+  version = notmuch.version;
+  outputs = [ "out" ];
+  buildInputs = with pythonPackages; [ sphinx python ];
+  src = notmuch.src;
+  phases = [ "unpackPhase" "buildPhase" "installPhase" "fixupPhase" ];
+  buildPhase = ''
+    cd bindings/python
+    python setup.py build
+    '';
+  installPhase = ''
+    python setup.py install --prefix=$out --optimize=1
+    '';
+}
diff --git a/pkgs/notmuch/notmuch-vim/default.nix b/pkgs/notmuch/notmuch-vim/default.nix
new file mode 100644 (file)
index 0000000..e79a253
--- /dev/null
@@ -0,0 +1,11 @@
+{ stdenv, notmuch }:
+stdenv.mkDerivation rec {
+  name = "notmuch-vim-${version}";
+  version = notmuch.version;
+  outputs = [ "out" ];
+  src = notmuch.src;
+  phases = [ "unpackPhase" "installPhase" ];
+  installPhase = ''
+    make -C vim DESTDIR=$out prefix="/share/vim/vimfiles" install
+    '';
+}
diff --git a/pkgs/slang_1/default.nix b/pkgs/slang_1/default.nix
new file mode 100644 (file)
index 0000000..5d68a56
--- /dev/null
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl }:
+stdenv.mkDerivation rec {
+  name = "slang-debian-patched-${version}";
+  version = "1.4.9";
+  src = fetchurl {
+    url = "ftp://space.mit.edu/pub/davis/slang/v1.4/slang-1.4.9.tar.gz";
+    sha256 = "1y2mg0whqh4b3acd0k17i4biz55bimxg8aaxhmwd165cvspxns9r";
+  };
+  debianPatches = fetchurl {
+    url = "http://archive.debian.org/debian-archive/debian-amd64/pool/main/s/slang/slang_1.4.9dbs-8.diff.gz";
+    sha256 = "0xdq14k5ynqfwpmis1rcggs7m4n921i3bs27icbmbhfg5gb2hap2";
+  };
+  preConfigure = ''
+    cp $debianPatches ./slang.diff.gz
+    gunzip slang.diff.gz
+    patch -p1 < slang.diff
+    for i in debian/patches/*; do
+      patch -p1 < $i
+    done
+    makeFlagsArray=(CFLAGS=" -g -O2 -fno-strength-reduce -DUTF8 -D_REENTRANT -D_XOPEN_SOURCE=500")
+    '';
+  postBuild = ''
+    sed -i "1i#ifndef UTF8\n#define UTF8\n#endif" src/slang.h
+    '';
+}
diff --git a/pkgs/telegramircd/default.nix b/pkgs/telegramircd/default.nix
new file mode 100644 (file)
index 0000000..8c8bddc
--- /dev/null
@@ -0,0 +1,16 @@
+{ openssl, telethon, python3Packages, fetchedGithub }:
+with python3Packages;
+buildPythonApplication rec {
+  format = "other";
+  pname = "telegramircd";
+  version = "master";
+  propagatedBuildInputs = [ telethon aiohttp ConfigArgParse openssl ];
+  src = (fetchedGithub ./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/"
+    '';
+}
diff --git a/pkgs/telethon_sync/default.nix b/pkgs/telethon_sync/default.nix
new file mode 100644 (file)
index 0000000..aa58d5b
--- /dev/null
@@ -0,0 +1,23 @@
+{ lib, python3Packages }:
+with python3Packages;
+buildPythonPackage rec {
+  pname = "Telethon-sync";
+  version = "1.1.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 =
+      "01z8fzqn0qs5pxhvzq891r3mwffq1ga3f8xvm7qdn6kvmxjni9fy";
+  };
+
+  propagatedBuildInputs = [
+    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;
+  };
+}
diff --git a/pkgs/unicode/default.nix b/pkgs/unicode/default.nix
new file mode 100644 (file)
index 0000000..756e939
--- /dev/null
@@ -0,0 +1,48 @@
+{ lib, fetchurl, runCommand, libarchive }:
+with lib.attrsets;
+let
+  version = "12.0";
+  version-full = "${version}.0";
+  files = {
+    emoji-data = fetchurl {
+      url = "http://www.unicode.org/Public/emoji/${version}/emoji-data.txt";
+      sha256 = "03sf7h1d6kb9m5s02lif88jsi5kjszpkfvcymaqxj8ds70ar9pgv";
+    };
+    emoji-sequences = fetchurl {
+      url = "http://www.unicode.org/Public/emoji/${version}/emoji-sequences.txt";
+      sha256 = "1hghki2rn3n7m4lwpwi2a5wrsf2nij4bxga9ldabx4g0g2k23svs";
+    };
+    emoji-test = fetchurl {
+      url = "http://www.unicode.org/Public/emoji/${version}/emoji-test.txt";
+      sha256 = "1dqd0fh999mh6naj816ni113m9dimfy3ih9nffjq2lrv9mmlgdck";
+    };
+    emoji-variation-sequences = fetchurl {
+      url = "http://www.unicode.org/Public/emoji/${version}/emoji-variation-sequences.txt";
+      sha256 = "1cccwx5bl79w4c19vi5dhjqxrph92s8hihp9y8s2cqvdzmgbln7a";
+    };
+    emoji-zwj-sequences = fetchurl {
+      url = "http://www.unicode.org/Public/emoji/${version}/emoji-zwj-sequences.txt";
+      sha256 = "1l791nbijmmhwa7kmvfn8gp26ban512l6mgqpz1mnbq3xm19181n";
+    };
+  };
+  zippedFiles = {
+    UCD = fetchurl {
+      url = "http://www.unicode.org/Public/zipped/${version-full}/UCD.zip";
+      sha256 = "1ighy39cjkmqnv1797wrxjz76mv1fdw7zp5j04q55bkwxsdkvrmh";
+    };
+    Unihan = fetchurl {
+      url = "http://www.unicode.org/Public/zipped/${version-full}/Unihan.zip";
+      sha256 = "1kfdhgg2gm52x3s07bijb5cxjy0jxwhd097k5lqhvzpznprm6ibf";
+    };
+  };
+in
+  runCommand "unicode" {
+    buildInputs = [ libarchive ];
+  } ''
+  mkdir -p $out/share/unicode
+  ${builtins.concatStringsSep "\n" (mapAttrsToList (n: u: "install -Dm644 ${u} $out/share/unicode/emoji/${n}.txt") files)}
+  ${builtins.concatStringsSep "\n" (mapAttrsToList (n: u: ''
+    install -Dm644 ${u} $out/share/unicode/${n}.zip
+    bsdtar -C "$out/share/unicode" -x -f "$out/share/unicode/${n}.zip"
+    '') zippedFiles)}
+  ''