1{
2 lib,
3 stdenv,
4 fetchurl,
5 autoreconfHook,
6 bison,
7 flex,
8 ghostscript,
9 groff,
10 netpbm,
11 fltk,
12 libXinerama,
13 libXpm,
14 libjpeg,
15}:
16
17stdenv.mkDerivation rec {
18 pname = "mup";
19 version = "6.8";
20
21 src = fetchurl {
22 url = "http://www.arkkra.com/ftp/pub/unix/mup${
23 builtins.replaceStrings [ "." ] [ "" ] version
24 }src.tar.gz";
25 sha256 = "06bv5nyl8rcibyb83zzrfdq6x6f93g3rgnv47i5gsjcaw5w6l31y";
26 };
27
28 nativeBuildInputs = [
29 autoreconfHook
30 bison
31 flex
32 ghostscript
33 groff
34 netpbm
35 ];
36
37 buildInputs = [
38 fltk
39 libXinerama
40 libXpm
41 libjpeg
42 ];
43
44 patches = [ ./ghostscript-permit-file-write.patch ];
45
46 postPatch = ''
47 for f in Makefile.am doc/Makefile.am doc/htmldocs/Makefile.am src/mupmate/Preferences.C; do
48 substituteInPlace $f --replace doc/packages doc
49 done
50 substituteInPlace src/mupprnt/mupprnt --replace 'mup ' $out/bin/mup' '
51 substituteInPlace src/mupdisp/genfile.c --replace '"mup"' '"'$out/bin/mup'"'
52 substituteInPlace src/mupmate/Preferences.C \
53 --replace '"mup"' '"'$out/bin/mup'"' \
54 --replace '"gv"' '"xdg-open"' \
55 --replace /usr/share/doc $out/share/doc
56 '';
57
58 enableParallelBuilding = false; # Undeclared dependencies + https://stackoverflow.com/a/19822767/1687334 for prolog.ps.
59
60 meta = with lib; {
61 homepage = "http://www.arkkra.com/";
62 description = "Music typesetting program (ASCII to PostScript and MIDI)";
63 license = licenses.bsd3;
64 maintainers = with maintainers; [ orivej ];
65 platforms = platforms.linux;
66 };
67}