From 98de2045a749b25d031b174c940096b4f5406b9d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Isma=C3=ABl=20Bouya?= Date: Fri, 26 Apr 2019 12:12:12 +0200 Subject: [PATCH] Move more packages to split files --- default.nix | 331 +----------------- pkgs/boinctui/default.nix | 20 ++ .../crypto/cardano}/daedalus.json | 0 pkgs/crypto/cardano/default.nix | 27 ++ pkgs/crypto/iota-cli-app/default.nix | 22 ++ .../iota-cli-app-node-packages.nix | 0 .../crypto/iota-cli-app}/iota-cli-app.json | 0 pkgs/crypto/sia/default.nix | 19 + pkgs/duply/default.nix | 40 +++ pkgs/flrn/default.nix | 13 + {fetched => pkgs/flrn}/flrn.json | 0 pkgs/genius/default.nix | 19 + pkgs/notmuch/notmuch-python/default.nix | 16 + pkgs/notmuch/notmuch-vim/default.nix | 11 + pkgs/slang_1/default.nix | 25 ++ pkgs/telegramircd/default.nix | 16 + .../telegramircd}/telegramircd.json | 0 pkgs/telethon_sync/default.nix | 23 ++ pkgs/unicode/default.nix | 48 +++ 19 files changed, 318 insertions(+), 312 deletions(-) create mode 100644 pkgs/boinctui/default.nix rename {fetched => pkgs/crypto/cardano}/daedalus.json (100%) create mode 100644 pkgs/crypto/cardano/default.nix create mode 100644 pkgs/crypto/iota-cli-app/default.nix rename {fetched => pkgs/crypto/iota-cli-app}/iota-cli-app-node-packages.nix (100%) rename {fetched => pkgs/crypto/iota-cli-app}/iota-cli-app.json (100%) create mode 100644 pkgs/crypto/sia/default.nix create mode 100644 pkgs/duply/default.nix create mode 100644 pkgs/flrn/default.nix rename {fetched => pkgs/flrn}/flrn.json (100%) create mode 100644 pkgs/genius/default.nix create mode 100644 pkgs/notmuch/notmuch-python/default.nix create mode 100644 pkgs/notmuch/notmuch-vim/default.nix create mode 100644 pkgs/slang_1/default.nix create mode 100644 pkgs/telegramircd/default.nix rename {fetched => pkgs/telegramircd}/telegramircd.json (100%) create mode 100644 pkgs/telethon_sync/default.nix create mode 100644 pkgs/unicode/default.nix diff --git a/default.nix b/default.nix index 7b2ca98..ae3b2b7 100644 --- a/default.nix +++ b/default.nix @@ -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 index 0000000..d8b106a --- /dev/null +++ b/pkgs/boinctui/default.nix @@ -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/fetched/daedalus.json b/pkgs/crypto/cardano/daedalus.json similarity index 100% rename from fetched/daedalus.json rename to pkgs/crypto/cardano/daedalus.json diff --git a/pkgs/crypto/cardano/default.nix b/pkgs/crypto/cardano/default.nix new file mode 100644 index 0000000..b7cfb9f --- /dev/null +++ b/pkgs/crypto/cardano/default.nix @@ -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 index 0000000..a027098 --- /dev/null +++ b/pkgs/crypto/iota-cli-app/default.nix @@ -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/fetched/iota-cli-app-node-packages.nix b/pkgs/crypto/iota-cli-app/iota-cli-app-node-packages.nix similarity index 100% rename from fetched/iota-cli-app-node-packages.nix rename to pkgs/crypto/iota-cli-app/iota-cli-app-node-packages.nix diff --git a/fetched/iota-cli-app.json b/pkgs/crypto/iota-cli-app/iota-cli-app.json similarity index 100% rename from fetched/iota-cli-app.json rename to pkgs/crypto/iota-cli-app/iota-cli-app.json diff --git a/pkgs/crypto/sia/default.nix b/pkgs/crypto/sia/default.nix new file mode 100644 index 0000000..45908af --- /dev/null +++ b/pkgs/crypto/sia/default.nix @@ -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 index 0000000..3816996 --- /dev/null +++ b/pkgs/duply/default.nix @@ -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 index 0000000..4240c57 --- /dev/null +++ b/pkgs/flrn/default.nix @@ -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 + ''; +}) diff --git a/fetched/flrn.json b/pkgs/flrn/flrn.json 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 index 0000000..b40d1d0 --- /dev/null +++ b/pkgs/genius/default.nix @@ -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 index 0000000..d639d9a --- /dev/null +++ b/pkgs/notmuch/notmuch-python/default.nix @@ -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 index 0000000..e79a253 --- /dev/null +++ b/pkgs/notmuch/notmuch-vim/default.nix @@ -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 index 0000000..5d68a56 --- /dev/null +++ b/pkgs/slang_1/default.nix @@ -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 index 0000000..8c8bddc --- /dev/null +++ b/pkgs/telegramircd/default.nix @@ -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/fetched/telegramircd.json b/pkgs/telegramircd/telegramircd.json similarity index 100% rename from fetched/telegramircd.json rename to pkgs/telegramircd/telegramircd.json diff --git a/pkgs/telethon_sync/default.nix b/pkgs/telethon_sync/default.nix new file mode 100644 index 0000000..aa58d5b --- /dev/null +++ b/pkgs/telethon_sync/default.nix @@ -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 index 0000000..756e939 --- /dev/null +++ b/pkgs/unicode/default.nix @@ -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)} + '' -- 2.41.0