blob: 7b2ca98f333a1ff52e5b70ab874d654352c1e4bf (
plain) (
tree)
|
|
with import <nixpkgs> {};
with import ./libs.nix { nixpkgs = import <nixpkgs> {}; };
let
mypkgs = {};
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.overridePythonAttrs {
setupPyBuildFlags = [ "--no-qt" "--xdg" ];
}).overrideAttrs (old: rec {
version = "1.5";
src = fetchurl {
url = "https://git.weboob.org/weboob/weboob/-/archive/${version}/${old.pname}-${version}.tar.gz";
sha256 = "0l6q5nm5g0zn6gmf809059kddrbds27wgygxsfkqja9blks5vq7z";
};
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 = weechat.override {
configure = { availablePlugins, ... }: {
plugins = with availablePlugins; [
# Make sure websocket_client is not 0.55.0, it provokes
# regular crashes
(python.withPackages (ps: with ps; [websocket_client emoji]))
perl
ruby
];
};
};
mypkgs.cnagios = callPackage ./pkgs/cnagios { inherit fetchedGithub; };
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.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.terminal-velocity = callPackage ./pkgs/terminal-velocity {};
mypkgs.tiv = callPackage ./pkgs/tiv {};
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.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.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 = 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 = ''
cp ${./patches/dwm_config.h} ./config.h
'';
});
mypkgs.nixops = nixops.overrideAttrs (old: {
preConfigure = (old.preConfigure or "") + ''
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
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 urlview;
inherit rr;
inherit nix-zsh-completions;
inherit browsh;
inherit monero;
inherit nextcloud-client;
inherit feh imagemagick;
inherit lftp;
stgit = gitAndTools.stgit;
inherit bundix;
bower2nix = nodePackages.bower2nix;
inherit firefox;
inherit jq;
inherit lzo unzip bzip2 p7zip xz;
# unrar is unfree
inherit tig;
#inherit nixos;
inherit emacs26-nox;
inherit highlight sourceHighlight;
pygmentize = python3Packages.pygments;
inherit iftop htop;
inherit fetchmail;
inherit bc;
inherit cpulimit;
inherit dmenu st;
inherit poppler_utils;
inherit tmux;
inherit netcat-gnu;
inherit ledger;
inherit ffmpeg libxslt;
}
|