nix-stuff/pkgs/pseint.nix

66 lines
2 KiB
Nix

{ stdenv
, lib
, fetchurl
, wxGTK32
, libX11
, libglvnd
, libGLU
, gsettings-desktop-schemas
, makeBinaryWrapper
, makeDesktopItem
, wrapGAppsHook
}:
# Based on https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=pseint
stdenv.mkDerivation rec {
pname = "pseint";
version = "20230517";
src = fetchurl {
url = "https://netactuate.dl.sourceforge.net/project/${pname}/${version}/${pname}-src-${version}.tgz";
hash = "sha256-8zc7CtDQ9RjXLAVQTigstPqdDJsR8ffBopxBFzVP+eI=";
};
enableParallelBuilding = true;
buildInputs = [ wxGTK32 libglvnd libGLU libX11 gsettings-desktop-schemas ];
nativeBuildInputs = [ makeBinaryWrapper wrapGAppsHook ];
# Build for linux
makeFlags = [ "ARCH=lnx" ];
installPhase = ''
runHook preInstall
mkdir -p $out/opt/${pname}/ $out/bin/ $out/share/icons/hicolor/{16x16,32x32,48x48,64x64,128x128}
cp -rv bin/* $out/opt/${pname}/
makeBinaryWrapper $out/opt/${pname}/wxPSeInt $out/bin/pseint
cp -rv bin/imgs/icon16.png $out/share/icons/hicolor/16x16/pseint.png
cp -rv bin/imgs/icon32.png $out/share/icons/hicolor/32x32/pseint.png
cp -rv bin/imgs/icon48.png $out/share/icons/hicolor/48x48/pseint.png
cp -rv bin/imgs/icon64.png $out/share/icons/hicolor/64x64/pseint.png
cp -rv bin/imgs/icon128.png $out/share/icons/hicolor/128x128/pseint.png
cp -rv "${desktopItem}/share/applications" "$out/share"
runHook postInstall
'';
desktopItem = makeDesktopItem {
name = pname;
desktopName = "PSeInt";
exec = "pseint";
icon = "pseint";
genericName = meta.description;
categories = [ "Development" ];
};
meta = with lib; {
description = "A tool for learning programming basis with a simple spanish pseudocode";
homepage = "https://pseint.sourceforge.net/";
downloadPage = "https://pseint.sourceforge.net/index.php?page=descargas.php";
changelog = "https://pseint.sourceforge.net/index.php?page=cambios.php";
# Website says GPLv2, so I'm assuming I need to use gpl2Only
license = lib.licenses.gpl2Only;
platforms = platforms.linux;
};
}