btrbk: add mainProgram (#356350)
[NixPkgs.git] / pkgs / by-name / wo / wonderdraft / package.nix
blobee49c10a70077c7af5c2aaf11e471d4cffa0f02a
1 { lib
2 , stdenv
3 , requireFile
4 , dpkg
5 , xorg
6 , libGL
7 , alsa-lib
8 , pulseaudio
9 }:
11 stdenv.mkDerivation rec {
12   pname = "wonderdraft";
13   version = "1.1.8.2b";
15   src = requireFile {
16     name = "Wonderdraft-${version}-Linux64.deb";
17     url = "https://wonderdraft.net/";
18     hash = "sha256-3eYnEH6P94z9axFsrkJA4QMcHyg/gNRczqL3h5Sc2Tg=";
19   };
20   sourceRoot = ".";
21   unpackCmd = "${dpkg}/bin/dpkg-deb -x $curSrc .";
23   dontConfigure = true;
24   dontBuild = true;
26   installPhase = ''
27     runHook preInstall
28     mkdir -p $out/bin
29     cp -R usr/share opt $out/
30     substituteInPlace \
31       $out/share/applications/Wonderdraft.desktop \
32       --replace /opt/ $out/opt/
33     ln -s $out/opt/Wonderdraft/Wonderdraft.x86_64 $out/bin/Wonderdraft.x86_64
34     runHook postInstall
35   '';
36   preFixup = let
37     libPath = lib.makeLibraryPath [
38       xorg.libXcursor
39       xorg.libXinerama
40       xorg.libXrandr
41       xorg.libX11
42       xorg.libXi
43       libGL
44       alsa-lib
45       pulseaudio
46     ];
47   in ''
48     patchelf \
49       --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
50       --set-rpath "${libPath}" \
51       $out/opt/Wonderdraft/Wonderdraft.x86_64
52   '';
54   meta = with lib; {
55     homepage = "https://wonderdraft.net/";
56     description = "Mapmaking tool for Tabletop Roleplaying Games, designed for city, region, or world scale";
57     license = licenses.unfree;
58     platforms = [ "x86_64-linux" ];
59     maintainers = with maintainers; [ jsusk ];
60     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
61   };