From c1a4483d012d66ff19de81e28f7380a306eb9378 Mon Sep 17 00:00:00 2001 From: D3vil0p3r Date: Wed, 3 Jan 2024 15:52:37 +0100 Subject: bytecode-viewer: init at 2.12 --- .../by/bytecode-viewer/make-deterministic.patch | 73 +++++++++++++++++++ pkgs/by-name/by/bytecode-viewer/package.nix | 81 ++++++++++++++++++++++ 2 files changed, 154 insertions(+) create mode 100644 pkgs/by-name/by/bytecode-viewer/make-deterministic.patch create mode 100644 pkgs/by-name/by/bytecode-viewer/package.nix (limited to 'pkgs/by-name/by/bytecode-viewer') diff --git a/pkgs/by-name/by/bytecode-viewer/make-deterministic.patch b/pkgs/by-name/by/bytecode-viewer/make-deterministic.patch new file mode 100644 index 0000000000000..94107b589c363 --- /dev/null +++ b/pkgs/by-name/by/bytecode-viewer/make-deterministic.patch @@ -0,0 +1,73 @@ +--- a/pom.xml 2024-01-08 09:44:10.495320111 +0100 ++++ b/pom.xml 2024-01-08 21:31:07.529336715 +0100 +@@ -394,6 +394,15 @@ + + + ++ maven-jar-plugin ++ 3.3.0 ++ ++ ++ default-jar ++ ++ ++ ++ + org.apache.maven.plugins + maven-javadoc-plugin + 3.5.0 +@@ -464,6 +473,55 @@ + + + ++ ++ org.apache.maven.plugins ++ maven-enforcer-plugin ++ 3.3.0 ++ ++ ++ require-all-plugin-version-to-be-set ++ validate ++ ++ enforce ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ org.apache.maven.plugins ++ maven-deploy-plugin ++ 3.1.1 ++ ++ ++ org.apache.maven.plugins ++ maven-resources-plugin ++ 3.3.1 ++ ++ ++ org.apache.maven.plugins ++ maven-site-plugin ++ 4.0.0-M9 ++ ++ ++ org.apache.maven.plugins ++ maven-install-plugin ++ 3.1.1 ++ ++ ++ org.apache.maven.plugins ++ maven-clean-plugin ++ 3.3.1 ++ ++ ++ org.apache.maven.plugins ++ maven-surefire-plugin ++ 3.1.2 ++ + + diff --git a/pkgs/by-name/by/bytecode-viewer/package.nix b/pkgs/by-name/by/bytecode-viewer/package.nix new file mode 100644 index 0000000000000..1e2a7e568db98 --- /dev/null +++ b/pkgs/by-name/by/bytecode-viewer/package.nix @@ -0,0 +1,81 @@ +{ lib +, fetchFromGitHub +, jre +, makeWrapper +, maven +, icoutils +, copyDesktopItems +, makeDesktopItem +}: + +maven.buildMavenPackage rec { + pname = "bytecode-viewer"; + version = "2.12"; + + src = fetchFromGitHub { + owner = "Konloch"; + repo = "bytecode-viewer"; + rev = "v${version}"; + hash = "sha256-opAUmkEcWPOrcxAL+I1rBQXwHmvzbu0+InTnsg9r+z8="; + }; + + desktopItems = [ + (makeDesktopItem { + name = "bytecode-viewer"; + desktopName = "Bytecode-Viewer"; + exec = meta.mainProgram; + icon = "bytecode-viewer"; + comment = "A lightweight user-friendly Java/Android Bytecode Viewer, Decompiler & More."; + categories = [ "Security" ]; + startupNotify = false; + }) + ]; + + patches = [ + # Make vendoring deterministic by pinning Maven plugin dependencies + ./make-deterministic.patch + ]; + + mvnHash = "sha256-iAxzFq8nR9UiH8y3ZWmGuChZEMwQBAkN8wD+t9q/RWY="; + + mvnParameters = "-Dproject.build.outputTimestamp=1980-01-01T00:00:02Z"; + + nativeBuildInputs = [ + icoutils + makeWrapper + copyDesktopItems + ]; + + installPhase = '' + runHook preInstall + + install -Dm644 target/Bytecode-Viewer-${version}.jar $out/share/bytecode-viewer/bytecode-viewer.jar + + mv "BCV Icon.ico" bytecode-viewer.ico + icotool -x bytecode-viewer.ico + + for size in 16 32 48 + do + install -Dm644 bytecode-viewer_*_$size\x$size\x32.png $out/share/icons/hicolor/$size\x$size/apps/bytecode-viewer.png + done + + mkdir $out/bin + makeWrapper ${lib.getExe jre} $out/bin/${meta.mainProgram} \ + --add-flags "-jar $out/share/bytecode-viewer/bytecode-viewer.jar" + + runHook postInstall + ''; + + meta = with lib; { + homepage = "https://bytecodeviewer.com"; + description = "A lightweight user-friendly Java/Android Bytecode Viewer, Decompiler & More"; + mainProgram = "bytecode-viewer"; + maintainers = with maintainers; [ shard7 d3vil0p3r ]; + platforms = platforms.unix; + sourceProvenance = with sourceTypes; [ + fromSource + binaryBytecode # deps + ]; + license = with licenses; [ gpl3Only ]; + }; +} -- cgit 1.4.1