]>
Commit | Line | Data |
---|---|---|
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 | } |