python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / applications / graphics / lazpaint / default.nix
blob82eab9757c73fe21771f8e4c772688a4b1a23b8f
1 { lib, stdenv, fetchFromGitHub, lazarus, fpc, pango, cairo, glib
2 , atk, gtk2, libX11, gdk-pixbuf, busybox, python3, makeWrapper }:
4 with stdenv;
6 let
7   bgrabitmap = fetchFromGitHub {
8     owner = "bgrabitmap";
9     repo = "bgrabitmap";
10     rev = "v11.2.5";
11     sha256 = "0w5pdihsxn039kalkf4cx23j69hz5r09qmhd358h2n74irv1r3x1";
12   };
13   bgracontrols = fetchFromGitHub {
14     owner = "bgrabitmap";
15     repo = "bgracontrols";
16     rev = "v7.0";
17     sha256 = "0qz3cscrc9jvhrix1hbmzhdxv6mxk0mz9azr46canflsydda8fjy";
18   };
19 in stdenv.mkDerivation rec {
20   pname = "lazpaint";
21   version = "7.1.5";
23   src = fetchFromGitHub {
24     owner = "bgrabitmap";
25     repo = "lazpaint";
26     rev = "v${version}";
27     sha256 = "0bpk3rlqzbxvgrxmrzs0hcrgwhsqnpjqv1kdd9cp09knimmksvy5";
28   };
30   nativeBuildInputs = [ lazarus fpc makeWrapper ];
32   buildInputs = [ pango cairo glib atk gtk2 libX11 gdk-pixbuf ];
34   NIX_LDFLAGS = "--as-needed -rpath ${lib.makeLibraryPath buildInputs}";
36   buildPhase = ''
37     cp -r --no-preserve=mode ${bgrabitmap} bgrabitmap
38     cp -r --no-preserve=mode ${bgracontrols} bgracontrols
40     lazbuild --lazarusdir=${lazarus}/share/lazarus \
41       --build-mode=Release \
42       bgrabitmap/bgrabitmap/bgrabitmappack.lpk \
43       bgracontrols/bgracontrols.lpk \
44       lazpaintcontrols/lazpaintcontrols.lpk \
45       lazpaint/lazpaint.lpi
46   '';
48   installPhase = ''
49     # Reuse existing install script
50     cd lazpaint/release/debian
51     substituteInPlace makedeb.sh --replace "rm -rf" "ls"
52     patchShebangs ./makedeb.sh
53     PATH=$PATH:${busybox}/bin ./makedeb.sh
54     cp -r staging/usr $out
56     # Python is needed for scripts
57     makeWrapper $out/share/lazpaint/lazpaint $out/bin/lazpaint \
58       --prefix PATH : ${lib.makeBinPath [ python3 ]}
59   '';
61   meta = with lib; {
62     description = "Image editor like PaintBrush or Paint.Net";
63     homepage = "https://sourceforge.net/projects/lazpaint/";
64     license = licenses.gpl3;
65     platforms = platforms.linux;
66     maintainers = with maintainers; [ ];
67   };