evcc: 0.131.4 -> 0.131.5
[NixPkgs.git] / pkgs / by-name / tr / transcribe / package.nix
blob16f0082ec79014c25b04c9d1b1b2348d74aded2b
1 { stdenv
2 , fetchzip
3 , lib
4 , wrapGAppsHook3
5 , xdg-utils
6 , which
7 , alsa-lib
8 , atk
9 , cairo
10 , fontconfig
11 , gdk-pixbuf
12 , glib
13 , gst_all_1
14 , gtk3
15 , libSM
16 , libX11
17 , libXtst
18 , libpng12
19 , pango
20 , zlib
23 stdenv.mkDerivation rec {
24   pname = "transcribe";
25   version = "9.41.2";
27   src =
28     if stdenv.hostPlatform.system == "x86_64-linux" then
29       fetchzip
30         {
31           url = "https://www.seventhstring.com/xscribe/downlo/xscsetup-${version}.tar.gz";
32           sha256 = "sha256-VWfjtNbwK9ZiWgs161ubRy+IjSXXk3FEfMkmA6Jhz8A=";
33         }
34     else throw "Platform not supported";
36   nativeBuildInputs = [
37     which
38     xdg-utils
39     wrapGAppsHook3
40   ];
42   buildInputs = with gst_all_1; [
43     gst-plugins-base
44     gst-plugins-good
45     gst-plugins-bad
46     gst-plugins-ugly
47   ];
49   dontPatchELF = true;
51   libPath = with gst_all_1; lib.makeLibraryPath [
52     stdenv.cc.cc
53     glib
54     gtk3
55     atk
56     fontconfig
57     pango
58     cairo
59     gdk-pixbuf
60     alsa-lib
61     libX11
62     libXtst
63     libSM
64     libpng12
65     gstreamer
66     gst-plugins-base
67     zlib
68   ];
70   installPhase = ''
71     mkdir -p $out/bin $out/libexec $out/share/doc
72     cp transcribe $out/libexec
73     cp xschelp.htb readme_gtk.html $out/share/doc
74     ln -s $out/share/doc/xschelp.htb $out/libexec
75     # The script normally installs to the home dir
76     sed -i -E 's!BIN_DST=.*!BIN_DST=$out!' install-linux.sh
77     sed -i -e 's!Exec=''${BIN_DST}/transcribe/transcribe!Exec=transcribe!' install-linux.sh
78     sed -i -e 's!''${BIN_DST}/transcribe!''${BIN_DST}/libexec!' install-linux.sh
79     rm -f xschelp.htb readme_gtk.html *.so
80     XDG_DATA_HOME=$out/share bash install-linux.sh -i
81     patchelf \
82       --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) \
83       $out/libexec/transcribe
84   '';
86   preFixup = ''
87     gappsWrapperArgs+=(
88       --prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH_1_0"
89       --prefix LD_LIBRARY_PATH : "${libPath}"
90     )
91   '';
93   postFixup = ''
94     ln -s $out/libexec/transcribe $out/bin/
95   '';
97   meta = with lib; {
98     description = "Software to help transcribe recorded music";
99     longDescription = ''
100       The Transcribe! application is an assistant for people who want
101       to work out a piece of music from a recording, in order to write
102       it out, or play it themselves, or both. It doesn't do the
103       transcribing for you, but it is essentially a specialised player
104       program which is optimised for the purpose of transcription. It
105       has many transcription-specific features not found on
106       conventional music players.
107     '';
108     homepage = "https://www.seventhstring.com/xscribe/";
109     changelog = "https://www.seventhstring.com/xscribe/history.html";
110     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
111     license = licenses.unfree;
112     maintainers = with maintainers; [ iwanb ];
113     platforms = platforms.linux;
114     mainProgram = "transcribe";
115   };