diff options
author | TomaSajt <62384384+TomaSajt@users.noreply.github.com> | 2024-01-04 18:54:06 +0100 |
---|---|---|
committer | TomaSajt <62384384+TomaSajt@users.noreply.github.com> | 2024-01-04 23:32:17 +0100 |
commit | f514cff940fb77410589f2e37c1f765f6dd78764 (patch) | |
tree | 7045f6e8c47883b39be1e26066e0940579087294 /pkgs/tools/games/jpsxdec/default.nix | |
parent | d7db3ee91f222d1b40435ae96d38e072c582f683 (diff) | |
download | nixlib-f514cff940fb77410589f2e37c1f765f6dd78764.tar nixlib-f514cff940fb77410589f2e37c1f765f6dd78764.tar.gz nixlib-f514cff940fb77410589f2e37c1f765f6dd78764.tar.bz2 nixlib-f514cff940fb77410589f2e37c1f765f6dd78764.tar.lz nixlib-f514cff940fb77410589f2e37c1f765f6dd78764.tar.xz nixlib-f514cff940fb77410589f2e37c1f765f6dd78764.tar.zst nixlib-f514cff940fb77410589f2e37c1f765f6dd78764.zip |
jpsxdec: 1.06 -> 2.0, make deterministic, clean up
Diffstat (limited to 'pkgs/tools/games/jpsxdec/default.nix')
-rw-r--r-- | pkgs/tools/games/jpsxdec/default.nix | 88 |
1 files changed, 40 insertions, 48 deletions
diff --git a/pkgs/tools/games/jpsxdec/default.nix b/pkgs/tools/games/jpsxdec/default.nix index d749353abc51..85fd9d65ada1 100644 --- a/pkgs/tools/games/jpsxdec/default.nix +++ b/pkgs/tools/games/jpsxdec/default.nix @@ -1,84 +1,76 @@ -{ stdenv -, lib +{ lib +, stdenv , fetchFromGitHub -, jdk -/* - * jPSXdec needs to be built with no later than JDK8, but - * should be run with the latest to get HiDPI fixes, etc. - */ -, jre ? jdk , ant -, unoconv +, jdk8 # the build script wants JAVA 8 for compilation +, jre # version can be >= 8 (latest version by default) , makeWrapper , makeDesktopItem +, copyDesktopItems +, canonicalize-jars-hook }: -let - pname = "jpsxdec"; - version = "1.06"; - - description = "Cross-platform PlayStation 1 audio and video converter"; - desktopItem = makeDesktopItem { - name = pname; - exec = pname; - icon = pname; - comment = description; - desktopName = "jPSXdec"; - categories = [ "AudioVideo" "Utility" ]; - }; -in -stdenv.mkDerivation rec { - inherit pname version; +stdenv.mkDerivation (finalAttrs: { + pname = "jpsxdec"; + version = "2.0"; src = fetchFromGitHub { owner = "m35"; - repo = pname; - rev = "v${version}"; - sha256 = "sha256-6PLEvK4NP0/ipdygyDFFcWTIfch5y0Hren40+8iqYJs="; + repo = "jpsxdec"; + rev = "v${finalAttrs.version}"; + hash = "sha256-PZOc5mpnUiUyydWyfZjWuPG4w+tRd6WLJ6YQMqu/95I="; }; - nativeBuildInputs = [ ant jdk unoconv makeWrapper ]; - buildInputs = [ jre ]; + sourceRoot = "${finalAttrs.src.name}/jpsxdec"; - patches = [ - ./0001-jpsxdec-hackfix-build-with-newer-JDKs.patch + nativeBuildInputs = [ + ant + jdk8 + makeWrapper + copyDesktopItems + canonicalize-jars-hook ]; buildPhase = '' runHook preBuild - - cd jpsxdec - mkdir -p _ant/release/doc/ - unoconv -d document -f pdf -o _ant/release/doc/jPSXdec-manual.pdf doc/jPSXdec-manual.odt - ant release - runHook postBuild ''; installPhase = '' runHook preInstall - mkdir -p $out/{bin,share/pixmaps} - mv _ant/release $out/jpsxdec + mkdir -p $out/share/jpsxdec + mv _ant/release/{doc,*.jar} $out/share/jpsxdec + install -Dm644 src/jpsxdec/gui/icon48.png $out/share/pixmaps/jpsxdec.png makeWrapper ${jre}/bin/java $out/bin/jpsxdec \ - --add-flags "-jar $out/jpsxdec/jpsxdec.jar" - - cp ${src}/jpsxdec/src/jpsxdec/gui/icon48.png $out/share/pixmaps/${pname}.png - ln -s ${desktopItem}/share/applications $out/share + --add-flags "-jar $out/share/jpsxdec/jpsxdec.jar" runHook postInstall ''; + desktopItems = [ + (makeDesktopItem { + name = "jpsxdec"; + exec = "jpsxdec"; + icon = "jpsxdec"; + desktopName = "jPSXdec"; + comment = finalAttrs.meta.description; + categories = [ "AudioVideo" "Utility" ]; + }) + ]; + meta = with lib; { - inherit description; + changelog = "https://github.com/m35/jpsxdec/blob/${finalAttrs.src.rev}/jpsxdec/doc/CHANGES.txt"; + description = "Cross-platform PlayStation 1 audio and video converter"; homepage = "https://jpsxdec.blogspot.com/"; - platforms = platforms.all; license = { - url = "https://raw.githubusercontent.com/m35/jpsxdec/readme/.github/LICENSE.md"; + url = "https://raw.githubusercontent.com/m35/jpsxdec/${finalAttrs.src.rev}/.github/LICENSE.md"; free = true; }; + mainProgram = "jpsxdec"; maintainers = with maintainers; [ zane ]; + platforms = platforms.all; }; -} +}) |