]> git.immae.eu Git - perso/Immae/Config/Nix.git/blob - default.nix
Upgrade weboob
[perso/Immae/Config/Nix.git] / default.nix
1 with import <nixpkgs> {};
2 with import ./libs.nix { nixpkgs = import <nixpkgs> {}; };
3 let
4 mypkgs = {};
5
6 mypkgs.taskwarrior = taskwarrior.overrideAttrs (old: rec {
7 postInstall = ''${old.postInstall}
8 mkdir -p "$out/share/vim/vimfiles/ftdetect"
9 mkdir -p "$out/share/vim/vimfiles/syntax"
10 ln -s "../../../../share/doc/task/scripts/vim/ftdetect/task.vim" "$out/share/vim/vimfiles/ftdetect/"
11 ln -s "../../../../share/doc/task/scripts/vim/syntax/taskrc.vim" "$out/share/vim/vimfiles/syntax/"
12 ln -s "../../../../share/doc/task/scripts/vim/syntax/taskdata.vim" "$out/share/vim/vimfiles/syntax/"
13 ln -s "../../../../share/doc/task/scripts/vim/syntax/taskedit.vim" "$out/share/vim/vimfiles/syntax/"
14 '';
15 });
16
17 mypkgs.vit = (vit.override { taskwarrior = mypkgs.taskwarrior; }).overrideAttrs (old:
18 fetchedGithub ./fetched/vit.json // {
19 buildInputs = old.buildInputs ++ [perlPackages.TryTiny perlPackages.TextCharWidth];
20 }
21 );
22
23 mypkgs.weboob = (pythonPackages.weboob.overridePythonAttrs {
24 setupPyBuildFlags = [ "--no-qt" "--xdg" ];
25 }).overrideAttrs (old: rec {
26 version = "1.5";
27 src = fetchurl {
28 url = "https://git.weboob.org/weboob/weboob/-/archive/${version}/${old.pname}-${version}.tar.gz";
29 sha256 = "0l6q5nm5g0zn6gmf809059kddrbds27wgygxsfkqja9blks5vq7z";
30 };
31 postInstall = ''${old.postInstall or ""}
32 mkdir -p $out/share/bash-completion/completions/
33 cp tools/weboob_bash_completion $out/share/bash-completion/completions/weboob
34 '';
35 });
36
37 mypkgs.slrn = slrn.overrideAttrs (old: rec {
38 version = "1.0.3a";
39 name = "slrn-${version}";
40 src = fetchurl {
41 url = "http://www.jedsoft.org/releases/slrn/slrn-${version}.tar.bz2";
42 sha256 = "1b1d9iikr60w0vq86y9a0l4gjl0jxhdznlrdp3r405i097as9a1v";
43 };
44 configureFlags = old.configureFlags ++ [ "--with-slrnpull" ];
45 });
46
47 mypkgs.ldapvi = ldapvi.overrideAttrs (old: fetchedGit ./fetched/ldapvi.json);
48
49 nixos = import ./nixos_tools.nix {};
50
51 mypkgs.pass = (pass.withExtensions (exts: [ exts.pass-otp ])).overrideAttrs (old:
52 fetchedGit ./fetched/pass.json // {
53 patches = old.patches ++ [ ./patches/pass-fix-pass-init.patch ];
54 }
55 );
56
57 mypkgs.profanity = (profanity.override {
58 notifySupport = true;
59 inherit libnotify gpgme gdk_pixbuf;
60 python = python3;
61 }).overrideAttrs (old: rec {
62 configureFlags = old.configureFlags ++ [ "--enable-plugins" ];
63 });
64
65 mypkgs.weechat = weechat.override {
66 configure = { availablePlugins, ... }: {
67 plugins = with availablePlugins; [
68 # Make sure websocket_client is not 0.55.0, it provokes
69 # regular crashes
70 (python.withPackages (ps: with ps; [websocket_client emoji]))
71 perl
72 ruby
73 ];
74 };
75 };
76
77 buildPerlPackage = perlPackages.buildPerlPackage;
78 mypkgs.note = buildPerlPackage rec {
79 name = "note-1.3.26";
80 src = fetchurl {
81 url = "mirror://cpan/authors/id/T/TL/TLINDEN/${name}.tar.gz";
82 sha256 = "1h645rnb5vpms48fcyzvp7cwwcbf9k5xq49w2bpniyzzgk2brjrq";
83 };
84 outputs = ["out" "man"];
85 propagatedBuildInputs = [ perlPackages.YAML ];
86 meta = with stdenv.lib; {
87 description = "A perl script for maintaining notes";
88 homepage = http://www.daemon.de/NOTE;
89 license = licenses.gpl3;
90 maintainers = with maintainers; [ { name = "T.v.Dein"; email = "tlinden@cpan.org"; } ];
91 platforms = platforms.unix;
92 };
93 };
94
95 mypkgs.terminal-velocity = with python36Packages; buildPythonApplication rec {
96 pname = "terminal-velocity-git";
97 version = "0.2.0";
98
99 patches = [
100 ./patches/terminal_velocity_sort_found_notes.patch
101 ./patches/terminal_velocity_python3_support.patch
102 # FIXME: update this patch when version changes
103 ./patches/terminal_velocity_fix_build.patch
104 ];
105
106 propagatedBuildInputs = [ chardet urwid (sh.overridePythonAttrs { doCheck = false; }) pyyaml ];
107 buildInputs = [ m2r (restructuredtext_lint.overridePythonAttrs { doCheck = false; }) pygments ];
108
109 postInstall = ''
110 rm $out/bin/terminal_velocity
111 '';
112 src = fetchPypi {
113 inherit pname version;
114 sha256 = "13yrkcmvh5h5fwnai61sbmqkrjyisz08n62pq0ada2lyyqf7g6b9";
115 };
116 };
117
118 mypkgs.mtop = buildPerlPackage rec {
119 name = "mtop-${version}";
120 version = "0.6.6";
121 src = fetchurl {
122 url = "http://downloads.sourceforge.net/project/mtop/mtop/v${version}/mtop-${version}.tar.gz";
123 sha256 = "0x0x5300b1j9i0xxk8rsrki0pspyzj2vylhzv8qg3l6j26aw0zrf";
124 };
125 outputs = ["out"];
126 buildInputs = [ perlPackages.DBI perlPackages.DBDmysql perlPackages.Curses ];
127
128 postInstall = ''
129 cd "$out"
130 preConfigure || true
131 '';
132 meta = with stdenv.lib; {
133 description = "MySQL top (monitor and examine slow queries)";
134 homepage = http://mtop.sourceforge.net/;
135 license = licenses.gpl3;
136 maintainers = with maintainers; [ { name = "Marc Prewitt"; email = "mprewitt@chelsea.net"; } ];
137 platforms = platforms.unix;
138 };
139 };
140
141 mypkgs.tiv = buildPerlPackage rec {
142 name = "tiv-${version}";
143 version = "2015";
144 src = fetchurl {
145 url = "http://xyne.archlinux.ca/projects/tiv/src/tiv-${version}.tar.xz";
146 sha256 = "1vq073v7z7vmcd57lhs4rf4jasji69cpjgkz4dykp94a77p1qq90";
147 };
148 outputs = ["out"];
149 buildInputs = [ perlPackages.PerlMagick ];
150 perlPreHookScript = ./hooks/tiv_builder.sh;
151 perlPreHook = ''
152 source ${perlPreHookScript}
153 '';
154 installPhase = ''
155 install -Dm755 tiv "$out/bin/tiv"
156 '';
157 };
158
159 mypkgs.cnagios = stdenv.mkDerivation (fetchedGithub ./fetched/cnagios.json // rec {
160 configureFlags = [
161 "--with-etc-dir=/etc/cnagios"
162 "--with-var-dir=/var/lib/naemon"
163 "--with-status-file=/var/lib/naemon/status.dat"
164 "--with-nagios-data=4"
165 ];
166
167 prePatch = ''
168 sed -i -e "s/-lcurses/-lncurses/" Makefile.in
169 '';
170 installPhase = ''
171 install -dm755 $out/share/doc/cnagios
172 install -Dm644 cnagiosrc $out/share/doc/cnagios/
173 install -Dm644 cnagios.help $out/share/doc/cnagios/
174 install -Dm644 cnagios.pl $out/share/doc/cnagios/
175 install -dm755 $out/bin
176 install -Dm755 cnagios $out/bin/
177 '';
178 propagatedBuildInputs = [ perl ncurses ];
179 });
180
181 mypkgs.nagios-cli = python2Packages.buildPythonApplication (fetchedGithub ./fetched/nagios-cli.json);
182
183 mypkgs.pg_activity = with python2Packages; buildPythonApplication (fetchedGithub ./fetched/pg_activity.json // rec {
184 propagatedBuildInputs = [ psycopg2 psutil ];
185 });
186
187 mypkgs.pgloader = stdenv.mkDerivation (fetchedGithub ./fetched/pgloader.json // rec {
188 buildInputs = [ sbcl cacert sqlite freetds libzip curl git openssl makeWrapper ];
189 LD_LIBRARY_PATH = stdenv.lib.makeLibraryPath [ sqlite libzip curl git openssl freetds ];
190 buildPhase = ''
191 export PATH=$PATH:$out/bin
192 export HOME=$TMPDIR
193 make pgloader
194 '';
195 dontStrip = true;
196 enableParallelBuilding = false;
197 installPhase = ''
198 install -Dm755 build/bin/pgloader "$out/bin/pgloader"
199 wrapProgram $out/bin/pgloader --prefix LD_LIBRARY_PATH : "${LD_LIBRARY_PATH}"
200 '';
201 });
202
203 mypkgs.pelican = python3Packages.pelican.overrideAttrs(old: fetchedGithub ./fetched/pelican.json // rec {
204 propagatedBuildInputs = old.propagatedBuildInputs ++ [ python3Packages.pyyaml ];
205 });
206
207 mypkgs.elinks = elinks.overrideAttrs (old:
208 fetchedGithub ./fetched/elinks.json // rec {
209 preConfigure = ''sh autogen.sh'';
210 buildInputs = old.buildInputs ++ [ gettext automake autoconf ];
211 configureFlags = [
212 "--disable-smb" "--without-x" "--enable-cgi"
213 "--enable-leds" "--enable-256-colors"
214 "--enable-html-highlight" "--with-zlib"
215 ];
216 patches = [];
217 }
218 );
219
220 mypkgs.neomutt = neomutt.overrideAttrs (old:
221 rec {
222 buildInputs = old.buildInputs ++ [ gdbm ];
223 configureFlags = old.configureFlags ++ [ "--gdbm" ];
224 }
225 );
226
227 # mypkgs.nagnu = stdenv.mkDerivation (fetchedGithub ./fetched/nagnu.json // rec {
228 # buildInputs = [ ncurses curl ];
229 # installPhase = ''
230 # mkdir -p $out/bin
231 # cp nagnu $out/bin
232 # mkdir -p $out/share/doc/nagnu
233 # cp nagnu.conf.sample $out/share/doc/nagnu
234 # mkdir -p $out/share/man/man8
235 # cp docs/nagnu.8 $out/share/man/man8
236 # '';
237 # });
238
239 mypkgs.goaccess = goaccess.overrideAttrs(old: rec {
240 name = "goaccess-${version}";
241 version = "1.3";
242 src = fetchurl {
243 url = "https://tar.goaccess.io/${name}.tar.gz";
244 sha256 = "16vv3pj7pbraq173wlxa89jjsd279004j4kgzlrsk1dz4if5qxwc";
245 };
246 configureFlags = old.configureFlags ++ [ "--enable-tcb=btree" ];
247 buildInputs = old.buildInputs ++ [ tokyocabinet bzip2 ];
248 });
249
250 mypkgs.mutt-ics = with python3Packages; buildPythonApplication (fetchedGithub ./fetched/mutt-ics.json // rec {
251 propagatedBuildInputs = [ icalendar ];
252 });
253
254 mypkgs.telegram-cli = stdenv.mkDerivation (fetchedGithub ./fetched/telegram-cli.json // rec {
255 patches = [
256 ./patches/telegram-cli.patch
257 ];
258 buildInputs = [ pkgconfig libevent lua jansson openssl readline zlib libconfig ];
259 preBuild = ''
260 sed -i -e 's@"/etc/" PROG_NAME "/server.pub"@"'$out'/etc/server.pub"@' main.c
261 '';
262 installPhase = ''
263 mkdir -p $out
264 install -Dm755 bin/telegram-cli $out/bin/telegram-cli
265 install -Dm644 tg-server.pub $out/etc/server.pub
266 install -Dm644 debian/telegram-cli.8 $out/man/man8/telegram-cli.8
267 '';
268 });
269
270 mypkgs.telegram-history-dump = stdenv.mkDerivation (fetchedGithub ./fetched/telegram-history-dump.json // rec {
271 installPhase = ''
272 mkdir -p $out/lib $out/bin
273 cp -a $src $out/lib/telegram-history-dump
274 ln -s $out/lib/telegram-history-dump/telegram-history-dump.rb $out/bin/telegram-history-dump
275 '';
276 buildInputs = [ ruby ];
277 });
278
279 mypkgs.muttprint = stdenv.mkDerivation rec {
280 name = "muttprint-${version}";
281 version = "0.73";
282 src = fetchurl {
283 url = "http://downloads.sf.net/muttprint/${name}.tar.gz";
284 sha256 = "1dny4niyibfgazwlzfcnb37jy6k140rs6baaj629z12rmahfdavw";
285 };
286 patches = [
287 ./patches/muttprint_0.73-4.diff.gz
288 ./patches/muttprint_regex.patch
289 ./patches/muttprint_two_edge.patch
290 ];
291 preConfigure = ''
292 aclocal
293 automake --add-missing --copy
294 autoconf
295 '';
296 preBuild = ''
297 cd pics
298 convert -flop BabyTuX.eps BabyTuX.eps
299 for i in BabyTuX_color.eps BabyTuX.eps Debian_color.eps \
300 Debian.eps Gentoo.eps Gentoo_color.eps ; do
301 convert $i $(basename $i .eps).png
302 done
303 convert penguin.eps penguin.jpg
304 cd ..
305 '';
306 postInstall = ''
307 perlFlags=
308 for i in $(IFS=:; echo $PERL5LIB); do
309 perlFlags="$perlFlags -I$i"
310 done
311
312 sed -i "$out/bin/muttprint" -e "s|^#\!\(.*[ /]perl.*\)$|#\!\1$perlFlags|"
313 sed -i "$out/bin/muttprint" -e "s|ENV{HOME}/.muttprintrc|ENV{XDG_CONFIG_HOME}/muttprint/muttprintrc|"
314
315 wrapProgram $out/bin/muttprint \
316 --prefix PATH : ${lib.makeBinPath [ psutils dialog
317 (texlive.combine { inherit (texlive) scheme-basic utopia fancyvrb lastpage marvosym ucs cm-super; }) ]}
318 '';
319 buildInputs = [ makeWrapper automake autoconf imagemagick ghostscript perl ] ++
320 (with perlPackages; [ TimeDate FileWhich TextIconv ]);
321 };
322
323 mypkgs.yarn2nix = yarn2nixPackage.yarn2nix;
324
325 mypkgs.cardano = let
326 daedalusOrig = (import (fetchedGithub ./fetched/daedalus.json).src {}).daedalus;
327 cfg = stdenv.mkDerivation rec {
328 name = "launcher-config-custom";
329 src = daedalusOrig.cfg;
330 installPhase = ''
331 cp -a $src $out
332 chmod -R u+w $out
333 cd $out/etc
334 sed -e "/^walletPath/d" -e "/^walletArgs/d" launcher-config.yaml > launcher-config-server-only.yaml
335 '';
336 };
337 daedalus = stdenv.mkDerivation rec {
338 name = "daedalus-custom";
339 src = daedalusOrig;
340 installPhase = ''
341 cp -a $src $out
342 chmod -R u+w $out
343 cd $out/bin
344 sed -i -e "s@${builtins.storeDir}/[0-9a-z]*-daedalus-config@${cfg}/etc@" daedalus
345 sed -e "s@${cfg}/etc/launcher-config.yaml@${cfg}/etc/launcher-config-server-only.yaml@" daedalus > daedalus-server-only
346 chmod a+x daedalus-server-only
347 '';
348 };
349 in
350 daedalus;
351
352 mypkgs.sia = stdenv.mkDerivation rec {
353 version = "v1.3.7";
354 name = "Sia-${version}";
355 src = fetchzip {
356 url = "https://sia.tech/static/releases/${name}-linux-amd64.zip";
357 sha256 = "1ljzwrlkx4hc16r8siiyakn039afipp95dyr83c8yfq3r3bfasqd";
358 };
359 phases = "installPhase";
360 installPhase = ''
361 mkdir -p $out/share/doc
362 mkdir -p $out/bin
363 mkdir -p $out/share/sia
364 cp -a $src/doc $out/share/doc/sia
365 cp -a $src/LICENSE $src/README.md $out/share/sia
366 cp -a $src/{siac,siad} $out/bin
367 cp -a $src/{siac,siad}.sig $out/share/sia/
368 '';
369 };
370
371 mypkgs.iota-cli-app = let
372 nodeEnv = pkgs.callPackage "${nodePackages.node2nix}/lib/node_modules/node2nix/nix/node-env.nix" {
373 nodejs = nodejs-8_x;
374 };
375 # built using node2nix -8 -l package-lock.json
376 # and changing "./." to "src"
377 packageEnv = import ./fetched/iota-cli-app-node-packages.nix {
378 src = stdenv.mkDerivation (fetchedGithub ./fetched/iota-cli-app.json // {
379 phases = "installPhase";
380 installPhase = ''
381 cp -a $src $out
382 chmod u+w -R $out
383 cd $out
384 sed -i -e "s@host: 'http://localhost',@host: 'https://iri.trytes.eu',@" index.js
385 sed -i -e "s@port: 14265@port: 443@" index.js
386 '';
387 });
388 inherit (pkgs) fetchurl fetchgit;
389 inherit nodeEnv;
390 };
391 in
392 packageEnv.package;
393
394 mypkgs.duply = stdenv.mkDerivation rec {
395 name = "duply-${version}";
396 version = "2.1";
397
398 src = fetchurl {
399 url = "mirror://sourceforge/project/ftplicity/duply%20%28simple%20duplicity%29/2.1.x/duply_${version}.tgz";
400 sha256 = "0i5j7h7h6ssrwhll0sfhymisshg54kx7j45zcqffzjxa0ylvzlm8";
401 };
402
403 buildInputs = [ txt2man makeWrapper ];
404
405 postPatch = "patchShebangs .";
406
407 installPhase = ''
408 mkdir -p "$out/bin"
409 mkdir -p "$out/share/man/man1"
410 install -vD duply "$out/bin"
411 sed -i $out/bin/duply -e "1a \
412 export PATH='${stdenv.lib.makeBinPath [ coreutils python2 duplicity gawk gnupg1 bash gnugrep txt2man which ]}'
413 " -e "1a \
414 export DUPL_PYTHON_BIN=$(basename ${duplicity}/lib/python*)
415 "
416 "$out/bin/duply" txt2man > "$out/share/man/man1/duply.1"
417 '';
418
419 meta = with stdenv.lib; {
420 description = "Shell front end for the duplicity backup tool";
421 longDescription = ''
422 Duply is a shell front end for the duplicity backup tool
423 http://duplicity.nongnu.org/. It greatly simplifies it's usage by
424 implementing backup job profiles, batch commands and more. Who says
425 secure backups on non-trusted spaces are no child's play?
426 '';
427 homepage = http://duply.net/;
428 license = licenses.gpl2;
429 maintainers = [ maintainers.bjornfor ];
430 platforms = stdenv.lib.platforms.unix;
431 };
432 };
433
434 mypkgs.boinctui = stdenv.mkDerivation rec {
435 name = "boinctui-${version}";
436 version = "2.5.0";
437 src = fetchurl {
438 url = "http://sourceforge.net/projects/boinctui/files/boinctui_${version}.tar.gz";
439 sha256 = "16zxp8r4z6pllacdacg681y56cg2phnn3pm5gwszbsi93cix2g8p";
440 };
441
442 configureFlags = [ "--without-gnutls" ];
443 preConfigure = ''
444 autoconf
445 '';
446
447 preBuild = ''
448 sed -i -e 's/"HOME"/"XDG_CONFIG_HOME"/' src/cfg.cpp
449 sed -i -e 's@\.boinctui\.cfg@boinctui/boinctui.cfg@' src/mainprog.cpp
450 '';
451 buildInputs = [ expat openssl autoconf ncurses ];
452 };
453
454 mypkgs.sc-im = sc-im.overrideAttrs (old: {
455 buildPhase = ''
456 cd src
457 sed -i Makefile -e 's@\...name.info@.local/state/$(name)info@'
458 cd ..
459 '' + old.buildPhase;
460 });
461
462 mypkgs.notmuch-vim = stdenv.mkDerivation rec {
463 name = "notmuch-vim-${version}";
464 version = notmuch.version;
465 outputs = [ "out" ];
466 src = notmuch.src;
467 phases = [ "unpackPhase" "installPhase" ];
468 installPhase = ''
469 make -C vim DESTDIR=$out prefix="/share/vim/vimfiles" install
470 '';
471 };
472
473 mypkgs.notmuch-python2 = stdenv.mkDerivation rec {
474 name = "notmuch-python2-${version}";
475 version = notmuch.version;
476 outputs = [ "out" ];
477 buildInputs = [ python2Packages.sphinx python2Packages.python ];
478 src = notmuch.src;
479 phases = [ "unpackPhase" "buildPhase" "installPhase" "fixupPhase" ];
480 buildPhase = ''
481 cd bindings/python
482 python setup.py build
483 '';
484 installPhase = ''
485 python setup.py install --prefix=$out --optimize=1
486 '';
487 };
488
489 mypkgs.notmuch-python3 = stdenv.mkDerivation rec {
490 name = "notmuch-python3-${version}";
491 version = notmuch.version;
492 outputs = [ "out" ];
493 buildInputs = [ python3Packages.sphinx python3Packages.python ];
494 src = notmuch.src;
495 phases = [ "unpackPhase" "buildPhase" "installPhase" "fixupPhase" ];
496 buildPhase = ''
497 cd bindings/python
498 python setup.py build
499 '';
500 installPhase = ''
501 python setup.py install --prefix=$out --optimize=1
502 '';
503 };
504
505 mypkgs.telegramircd = with python3Packages; let
506 telethon = buildPythonPackage rec {
507 pname = "Telethon-sync";
508 version = "1.1.1";
509
510 src = fetchPypi {
511 inherit pname version;
512 sha256 =
513 "01z8fzqn0qs5pxhvzq891r3mwffq1ga3f8xvm7qdn6kvmxjni9fy";
514 };
515
516 propagatedBuildInputs = with self; [
517 rsa pyaes async_generator
518 ];
519 doCheck = false;
520
521 meta = with lib; {
522 homepage = https://github.com/LonamiWebs/Telethon;
523 description = "Full-featured Telegram client library for Python 3";
524 license = licenses.mit;
525 };
526 };
527 in
528 buildPythonApplication rec {
529 format = "other";
530 pname = "telegramircd";
531 version = "master";
532 propagatedBuildInputs = [ telethon aiohttp ConfigArgParse openssl ];
533 src = (fetchedGithub ./fetched/telegramircd.json).src;
534 LD_LIBRARY_PATH = "${openssl.out}/lib";
535 installPhase = ''
536 install -D $src/telegramircd.py $out/bin/telegramircd
537 wrapProgram "$out/bin/telegramircd" \
538 --prefix LD_LIBRARY_PATH : "${openssl.out}/lib"
539 install -Dm644 "$src/config" -t "$out/etc/telegramircd/"
540 '';
541 };
542
543 mypkgs.lesspipe = lesspipe.overrideAttrs(old: {
544 configureFlags = (old.configureFlags or []) ++ [ "--yes" ];
545 });
546
547 mypkgs.genius = stdenv.mkDerivation rec {
548 name = "genius-${version}";
549 version = "1.0.24";
550 src = fetchurl {
551 url = "https://download.gnome.org/sources/genius/1.0/${name}.tar.xz";
552 sha256 = "772f95f6ae4716d39bb180cd50e8b6b9b074107bee0cd083b825e1e6e55916b6";
553 };
554 buildInputs = [
555 mpfr glib hicolor-icon-theme gtk2 intltool gnome-doc-utils python3 gnome2.gtksourceview
556 autoconf automake libtool ncurses readline pkg-config
557 ];
558 preConfigure = ''
559 autoreconf -fi
560 '';
561 preBuild = ''
562 sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
563 '';
564 };
565
566 mypkgs.unicode = let
567 version = "12.0";
568 version-full = "${version}.0";
569 files = {
570 emoji-data = fetchurl {
571 url = "http://www.unicode.org/Public/emoji/${version}/emoji-data.txt";
572 sha256 = "03sf7h1d6kb9m5s02lif88jsi5kjszpkfvcymaqxj8ds70ar9pgv";
573 };
574 emoji-sequences = fetchurl {
575 url = "http://www.unicode.org/Public/emoji/${version}/emoji-sequences.txt";
576 sha256 = "1hghki2rn3n7m4lwpwi2a5wrsf2nij4bxga9ldabx4g0g2k23svs";
577 };
578 emoji-test = fetchurl {
579 url = "http://www.unicode.org/Public/emoji/${version}/emoji-test.txt";
580 sha256 = "1dqd0fh999mh6naj816ni113m9dimfy3ih9nffjq2lrv9mmlgdck";
581 };
582 emoji-variation-sequences = fetchurl {
583 url = "http://www.unicode.org/Public/emoji/${version}/emoji-variation-sequences.txt";
584 sha256 = "1cccwx5bl79w4c19vi5dhjqxrph92s8hihp9y8s2cqvdzmgbln7a";
585 };
586 emoji-zwj-sequences = fetchurl {
587 url = "http://www.unicode.org/Public/emoji/${version}/emoji-zwj-sequences.txt";
588 sha256 = "1l791nbijmmhwa7kmvfn8gp26ban512l6mgqpz1mnbq3xm19181n";
589 };
590 };
591 zippedFiles = {
592 UCD = fetchurl {
593 url = "http://www.unicode.org/Public/zipped/${version-full}/UCD.zip";
594 sha256 = "1ighy39cjkmqnv1797wrxjz76mv1fdw7zp5j04q55bkwxsdkvrmh";
595 };
596 Unihan = fetchurl {
597 url = "http://www.unicode.org/Public/zipped/${version-full}/Unihan.zip";
598 sha256 = "1kfdhgg2gm52x3s07bijb5cxjy0jxwhd097k5lqhvzpznprm6ibf";
599 };
600 };
601 in
602 pkgs.runCommand "unicode" {
603 buildInputs = [ libarchive ];
604 } ''
605 mkdir -p $out/share/unicode
606 ${builtins.concatStringsSep "\n" (lib.attrsets.mapAttrsToList (n: u: "install -Dm644 ${u} $out/share/unicode/emoji/${n}.txt") files)}
607 ${builtins.concatStringsSep "\n" (lib.attrsets.mapAttrsToList (n: u: ''
608 install -Dm644 ${u} $out/share/unicode/${n}.zip
609 bsdtar -C "$out/share/unicode" -x -f "$out/share/unicode/${n}.zip"
610 '') zippedFiles)}
611 '';
612
613 mypkgs.dwm = dwm.overrideAttrs(old: rec {
614 postPatch = ''
615 cp ${./patches/dwm_config.h} ./config.h
616 '';
617 });
618
619 mypkgs.flrn = let
620 slang = stdenv.mkDerivation rec {
621 name = "slang-debian-patched-${version}";
622 version = "1.4.9";
623 src = fetchurl {
624 url = "ftp://space.mit.edu/pub/davis/slang/v1.4/slang-1.4.9.tar.gz";
625 sha256 = "1y2mg0whqh4b3acd0k17i4biz55bimxg8aaxhmwd165cvspxns9r";
626 };
627 debianPatches = fetchurl {
628 url = "http://archive.debian.org/debian-archive/debian-amd64/pool/main/s/slang/slang_1.4.9dbs-8.diff.gz";
629 sha256 = "0xdq14k5ynqfwpmis1rcggs7m4n921i3bs27icbmbhfg5gb2hap2";
630 };
631 preConfigure = ''
632 cp $debianPatches ./slang.diff.gz
633 gunzip slang.diff.gz
634 patch -p1 < slang.diff
635 for i in debian/patches/*; do
636 patch -p1 < $i
637 done
638 makeFlagsArray=(CFLAGS=" -g -O2 -fno-strength-reduce -DUTF8 -D_REENTRANT -D_XOPEN_SOURCE=500")
639 '';
640 postBuild = ''
641 sed -i "1i#ifndef UTF8\n#define UTF8\n#endif" src/slang.h
642 '';
643 };
644 in
645 stdenv.mkDerivation (fetchedGithub ./fetched/flrn.json // rec {
646 buildInputs = [ libetpan openssl autoconf groff slang yacc ];
647 preConfigure = ''
648 sed -i -e "s/test -e configure/false/" configure.in
649 autoconf
650 sed -i -e '/define CHECK_MAIL/d' src/flrn_config.h
651 sed -i -e '/DEFAULT_DIR_FILE/s@".flrn"@".config/flrn"@' src/flrn_config.h
652 sed -i -e '/DEFAULT_CONFIG_FILE/s@".flrnrc"@"flrnrc"@' src/flrn_config.h
653 sed -i -e '/DEFAULT_FLNEWS_FILE/s@".flnewsrc"@"flnewsrc"@' src/flrn_config.h
654 sed -i -e '/flrn_char chaine/s@18@20@' src/flrn_command.c
655 '';
656 });
657 # https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh
658 # https://github.com/NixOS/nixpkgs/blob/master/doc/languages-frameworks
659 in
660 mypkgs // {
661 inherit nix-prefetch-scripts;
662 inherit nix-generate-from-cpan;
663 inherit timewarrior;
664 inherit pal;
665 inherit pdftk;
666 inherit googler;
667 inherit jrnl;
668 inherit apg pwgen;
669 inherit newsboat;
670 inherit vcsh;
671 inherit xmr-stak;
672 inherit urlwatch;
673 inherit ranger;
674 inherit irssi;
675 inherit abook khard khal;
676 inherit graphicsmagick;
677 inherit youtube-dl;
678 inherit ncmpc ncmpcpp;
679 inherit cadaver;
680 inherit mairix notmuch;
681 inherit ctags;
682 inherit s3cmd;
683 inherit solc; # solidity
684 inherit rtorrent;
685 inherit strace;
686 inherit vdirsyncer;
687 inherit w3m lynx links;
688 inherit gitRepo;
689 inherit valgrind;
690 inherit iotop iperf;
691 inherit keybase;
692 inherit bogofilter;
693 inherit mtr;
694 inherit nixops;
695 inherit urlview;
696 inherit rr;
697 inherit nix-zsh-completions;
698 inherit browsh;
699 inherit monero;
700 inherit nextcloud-client;
701 inherit feh imagemagick;
702 inherit lftp;
703 stgit = gitAndTools.stgit;
704 inherit bundix;
705 bower2nix = nodePackages.bower2nix;
706 inherit firefox;
707 inherit jq;
708 inherit lzo unzip bzip2 p7zip xz;
709 # unrar is unfree
710 inherit tig;
711 #inherit nixos;
712 inherit emacs26-nox;
713 inherit highlight sourceHighlight;
714 pygmentize = python3Packages.pygments;
715 inherit iftop htop;
716 inherit fetchmail;
717 inherit bc;
718 inherit cpulimit;
719 inherit dmenu st;
720 inherit poppler_utils;
721 inherit tmux;
722 inherit netcat-gnu;
723 inherit ledger;
724 inherit ffmpeg libxslt;
725 }