66 lines
2 KiB
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;
|
|
};
|
|
}
|