Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / by-name / do / doublecmd / package.nix
blob6135efc73c5dccd7789f55c44c8546010feb8798
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , dbus
5 , fpc
6 , getopt
7 , glib
8 , lazarus
9 , libX11
10 , libqt5pas
11 , wrapQtAppsHook
14 stdenv.mkDerivation (finalAttrs: {
15   pname = "doublecmd";
16   version = "1.1.3";
18   src = fetchFromGitHub {
19     owner = "doublecmd";
20     repo = "doublecmd";
21     rev = "v${finalAttrs.version}";
22     hash = "sha256-RKAIZNty+iXeMfsjDOlOyvngx4XU5CSEi0Wap21lFAI=";
23   };
25   nativeBuildInputs = [
26     fpc
27     getopt
28     lazarus
29     wrapQtAppsHook
30   ];
32   buildInputs = [
33     dbus
34     glib
35     libX11
36     libqt5pas
37   ];
39   env.NIX_LDFLAGS = "--as-needed -rpath ${lib.makeLibraryPath finalAttrs.buildInputs}";
41   postPatch = ''
42     patchShebangs build.sh install/linux/install.sh
43     substituteInPlace build.sh \
44       --replace '$(which lazbuild)' '"${lazarus}/bin/lazbuild --lazarusdir=${lazarus}/share/lazarus"'
45     substituteInPlace install/linux/install.sh \
46       --replace '$DC_INSTALL_PREFIX/usr' '$DC_INSTALL_PREFIX'
47   '';
49   buildPhase = ''
50     runHook preBuild
52     export HOME=$(mktemp -d)
53     ./build.sh release qt5
55     runHook postBuild
56   '';
58   installPhase = ''
59     runHook preInstall
61     install/linux/install.sh -I $out
63     runHook postInstall
64   '';
66   meta = {
67     homepage = "https://doublecmd.sourceforge.io/";
68     description = "Two-panel graphical file manager written in Pascal";
69     license = lib.licenses.gpl2Plus;
70     mainProgram = "doublecmd";
71     maintainers = with lib.maintainers; [ AndersonTorres ];
72     platforms = lib.platforms.linux;
73   };
75 # TODO: deal with other platforms too