diff options
Diffstat (limited to 'nixpkgs/pkgs/applications/graphics/lazpaint/default.nix')
-rw-r--r-- | nixpkgs/pkgs/applications/graphics/lazpaint/default.nix | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/graphics/lazpaint/default.nix b/nixpkgs/pkgs/applications/graphics/lazpaint/default.nix new file mode 100644 index 00000000000..d8ea4924318 --- /dev/null +++ b/nixpkgs/pkgs/applications/graphics/lazpaint/default.nix @@ -0,0 +1,72 @@ +{ stdenv, fetchFromGitHub, lazarus, fpc, pango, cairo, glib +, atk, gtk2, libX11, gdk-pixbuf, busybox, python3, makeWrapper }: + +with stdenv; + +let + bgrabitmap = fetchFromGitHub { + owner = "bgrabitmap"; + repo = "bgrabitmap"; + rev = "v11.1"; + sha256 = "0bcmiiwly4a7w8p3m5iskzvk8rz87qhc0gcijrdvwg87cafd88gz"; + }; + bgracontrols = fetchFromGitHub { + owner = "bgrabitmap"; + repo = "bgracontrols"; + rev = "v6.7.2"; + sha256 = "0cwxzv0rl6crkf6f67mvga5cn5pyhr6ksm8cqhpxjiqi937dnyxx"; + }; +in stdenv.mkDerivation rec { + pname = "lazpaint"; + version = "7.1.3"; + + src = fetchFromGitHub { + owner = "bgrabitmap"; + repo = "lazpaint"; + rev = "v${version}"; + sha256 = "1sfb5hmhzscz3nv4cmc192jimkg70l4z3q3yxkivhw1hwwsv9cbg"; + }; + + nativeBuildInputs = [ lazarus fpc makeWrapper ]; + + buildInputs = [ pango cairo glib atk gtk2 libX11 gdk-pixbuf ]; + + NIX_LDFLAGS = "--as-needed -rpath ${lib.makeLibraryPath buildInputs}"; + + buildPhase = '' + cp -r --no-preserve=mode ${bgrabitmap} bgrabitmap + cp -r --no-preserve=mode ${bgracontrols} bgracontrols + + lazbuild --lazarusdir=${lazarus}/share/lazarus \ + --build-mode=Release \ + bgrabitmap/bgrabitmap/bgrabitmappack.lpk \ + bgracontrols/bgracontrols.lpk \ + lazpaintcontrols/lazpaintcontrols.lpk \ + lazpaint/lazpaint.lpi + ''; + + installPhase = '' + # Reuse existing install script + cd lazpaint/release/debian + substituteInPlace makedeb.sh --replace "rm -rf" "ls" + patchShebangs ./makedeb.sh + PATH=$PATH:${busybox}/bin ./makedeb.sh + cp -r staging/usr $out + + # Python is needed for scripts + makeWrapper $out/share/lazpaint/lazpaint $out/bin/lazpaint \ + --prefix PATH : ${stdenv.lib.makeBinPath [ python3 ]} + + substituteInPlace $out/share/applications/lazpaint.desktop \ + --replace /usr/share/pixmaps/lazpaint.png $out/share/pixmaps/lazpaint.png \ + --replace /usr/share/lazpaint/lazpaint $out/bin/lazpaint + ''; + + meta = with stdenv.lib; { + description = "Image editor like PaintBrush or Paint.Net"; + homepage = "https://sourceforge.net/projects/lazpaint/"; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ gnidorah ]; + }; +} |