pari: 2.15.5 -> 2.17.1 (#348442)
[NixPkgs.git] / pkgs / by-name / so / solfege / package.nix
blobd3c8d113f75c2579d19c1f57395b6ed6a4ae2100
2   lib,
3   alsa-utils,
4   autoconf,
5   automake,
6   csound,
7   fetchurl,
8   gdk-pixbuf,
9   gettext,
10   gobject-introspection,
11   gtk3,
12   librsvg,
13   lilypond,
14   mpg123,
15   pkg-config,
16   python3Packages,
17   texinfo,
18   timidity,
19   txt2man,
20   vorbis-tools,
21   wrapGAppsHook3,
24 python3Packages.buildPythonApplication rec {
25   pname = "solfege";
26   version = "3.23.4";
27   format = "other";
29   src = fetchurl {
30     url = "https://alpha.gnu.org/gnu/solfege/solfege-${version}.tar.gz";
31     hash = "sha256-t6JJxgGk5hpN76o9snxtM07tkYnwpQ808M/8Ttw+gWk=";
32   };
34   patches = [
35     ./css.patch
36     ./menubar.patch
37     ./texinfo.patch
38     ./webbrowser.patch
39   ];
41   preConfigure = ''
42     aclocal
43     autoconf
44   '';
46   nativeBuildInputs = [
47     autoconf
48     automake
49     gdk-pixbuf
50     gettext
51     gobject-introspection
52     pkg-config
53     texinfo
54     txt2man
55     wrapGAppsHook3
56   ];
58   buildInputs = [
59     gtk3
60     librsvg
61   ];
63   propagatedBuildInputs = with python3Packages; [
64     pycairo
65     pygobject3
66   ];
68   preBuild = ''
69     sed -i -e 's|wav_player=.*|wav_player=${alsa-utils}/bin/aplay|' \
70            -e 's|midi_player=.*|midi_player=${timidity}/bin/timidity|' \
71            -e 's|mp3_player=.*|mp3_player=${mpg123}/bin/mpg123|' \
72            -e 's|ogg_player=.*|ogg_player=${vorbis-tools}/bin/ogg123|' \
73            -e 's|csound=.*|csound=${csound}/bin/csound|' \
74            -e 's|lilypond-book=.*|lilypond-book=${lilypond}/bin/lilypond-book|' \
75            default.config
76   '';
78   dontWrapGApps = true;
80   preFixup = ''
81     makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
82   '';
84   enableParallelBuilding = true;
86   meta = with lib; {
87     description = "Ear training program";
88     homepage = "https://www.gnu.org/software/solfege/";
89     license = licenses.gpl3Only;
90     platforms = platforms.linux;
91     maintainers = with maintainers; [
92       bjornfor
93       orivej
94       anthonyroussel
95     ];
96     mainProgram = "solfege";
97   };