diff --git a/flake.nix b/flake.nix index 0e80695..451b953 100755 --- a/flake.nix +++ b/flake.nix @@ -63,7 +63,11 @@ outputs = { self, nixpkgs, nixpkgs-unstable, agenix, home-manager, home-manager- export PS1="$PS1(toast-configs)> " ''; }; - + packages = { + x86_64-linux = with import nixpkgs-unstable { system = "x86_64-linux"; }; { + pseint = callPackage ./pkgs/pseint.nix {}; + }; + }; nixosConfigurations = { Archie = nixpkgs-unstable.lib.nixosSystem { system = "x86_64-linux"; diff --git a/pkgs/pseint.nix b/pkgs/pseint.nix new file mode 100644 index 0000000..bb33842 --- /dev/null +++ b/pkgs/pseint.nix @@ -0,0 +1,50 @@ +{ stdenv +, lib +, fetchurl +, wxGTK32 +, libX11 +, libglvnd +, libGLU +, gsettings-desktop-schemas +, makeBinaryWrapper +, 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/ + cp -rv bin/* $out/opt/${pname}/ + makeBinaryWrapper $out/opt/${pname}/pseint $out/bin/pseint + + runHook postInstall + ''; + + 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; + }; +}