From 64dc362f8281bfaa75a00104588bb4c8f7fffaa6 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Sun, 11 Aug 2024 15:57:50 -0300 Subject: [PATCH 1/3] fastjar: migrate to by-name --- .../java/fastjar/default.nix => by-name/fa/fastjar/package.nix} | 0 pkgs/top-level/all-packages.nix | 2 -- 2 files changed, 2 deletions(-) rename pkgs/{development/tools/java/fastjar/default.nix => by-name/fa/fastjar/package.nix} (100%) diff --git a/pkgs/development/tools/java/fastjar/default.nix b/pkgs/by-name/fa/fastjar/package.nix similarity index 100% rename from pkgs/development/tools/java/fastjar/default.nix rename to pkgs/by-name/fa/fastjar/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c2031b4382b9..6fc478bc4846 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -24529,8 +24529,6 @@ with pkgs; commonsMath = callPackage ../development/libraries/java/commons/math { }; - fastjar = callPackage ../development/tools/java/fastjar { }; - httpunit = callPackage ../development/libraries/java/httpunit { }; javaCup = callPackage ../development/libraries/java/cup { From 8116e12b9add9329e74896030efd416267a5385f Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Sun, 11 Aug 2024 16:10:54 -0300 Subject: [PATCH 2/3] fastjar: adopt and rewrite - nixfmt-rfc-style - finalAttrs - split outputs - strictDeps - meta.mainProgram --- pkgs/by-name/fa/fastjar/package.nix | 49 +++++++++++++++++++---------- 1 file changed, 32 insertions(+), 17 deletions(-) diff --git a/pkgs/by-name/fa/fastjar/package.nix b/pkgs/by-name/fa/fastjar/package.nix index c81df42edb11..51b41d5e8197 100644 --- a/pkgs/by-name/fa/fastjar/package.nix +++ b/pkgs/by-name/fa/fastjar/package.nix @@ -1,31 +1,46 @@ -{ fetchurl, lib, stdenv, zlib }: +{ + lib, + fetchzip, + stdenv, + zlib, +}: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "fastjar"; version = "0.98"; - src = fetchurl { - url = "https://download.savannah.gnu.org/releases/fastjar/fastjar-${version}.tar.gz"; - sha256 = "0iginbz2m15hcsa3x4y7v3mhk54gr1r7m3ghx0pg4n46vv2snmpi"; + src = fetchzip { + pname = "fastjar-source"; + inherit (finalAttrs) version; + url = "https://download.savannah.gnu.org/releases/fastjar/fastjar-${finalAttrs.version}.tar.gz"; + hash = "sha256-8VyKNQaPLrXAy/UEm2QkBx56SSSoLdU/7w4IwrxbsQc="; }; + outputs = [ + "out" + "info" + "man" + ]; + buildInputs = [ zlib ]; + strictDeps = true; + doCheck = true; meta = { - description = "Fast Java archiver written in C"; - - longDescription = '' - Fastjar is a version of Sun's `jar' utility, written entirely in C, and - therefore quite a bit faster. Fastjar can be up to 100x faster than - the stock `jar' program running without a JIT. - ''; - homepage = "https://savannah.nongnu.org/projects/fastjar/"; - + description = "Fast Java archiver written in C"; + longDescription = '' + FastJar is an attempt at creating a feature-for-feature copy of Sun's + JDK's 'jar' command. Sun's jar (or Blackdown's for that matter) is + written entirely in Java which makes it dog slow. Since FastJar is + written in C, it can create the same .jar file as Sun's tool in a fraction + of the time. + ''; license = lib.licenses.gpl2Plus; - platforms = lib.platforms.linux; - maintainers = [ ]; + mainProgram = "fastjar"; + maintainers = with lib.maintainers; [ AndersonTorres ]; + platforms = lib.platforms.all; }; -} +}) From 80e6f38dbc1ea0fa453ceda82452dd6ce3bb26c7 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Sun, 11 Aug 2024 22:23:21 -0300 Subject: [PATCH 3/3] fastjar: add passthru tests --- pkgs/by-name/fa/fastjar/package.nix | 8 ++++++++ pkgs/by-name/fa/fastjar/tests/version-fastjar.nix | 6 ++++++ pkgs/by-name/fa/fastjar/tests/version-grepjar.nix | 6 ++++++ 3 files changed, 20 insertions(+) create mode 100644 pkgs/by-name/fa/fastjar/tests/version-fastjar.nix create mode 100644 pkgs/by-name/fa/fastjar/tests/version-grepjar.nix diff --git a/pkgs/by-name/fa/fastjar/package.nix b/pkgs/by-name/fa/fastjar/package.nix index 51b41d5e8197..c7c0f9425195 100644 --- a/pkgs/by-name/fa/fastjar/package.nix +++ b/pkgs/by-name/fa/fastjar/package.nix @@ -1,5 +1,6 @@ { lib, + callPackage, fetchzip, stdenv, zlib, @@ -28,6 +29,13 @@ stdenv.mkDerivation (finalAttrs: { doCheck = true; + passthru = { + tests = lib.packagesFromDirectoryRecursive { + inherit callPackage; + directory = ./tests; + }; + }; + meta = { homepage = "https://savannah.nongnu.org/projects/fastjar/"; description = "Fast Java archiver written in C"; diff --git a/pkgs/by-name/fa/fastjar/tests/version-fastjar.nix b/pkgs/by-name/fa/fastjar/tests/version-fastjar.nix new file mode 100644 index 000000000000..33a654f7baf0 --- /dev/null +++ b/pkgs/by-name/fa/fastjar/tests/version-fastjar.nix @@ -0,0 +1,6 @@ +{ fastjar, testers }: + +testers.testVersion { + package = fastjar; + command = "fastjar --version"; +} diff --git a/pkgs/by-name/fa/fastjar/tests/version-grepjar.nix b/pkgs/by-name/fa/fastjar/tests/version-grepjar.nix new file mode 100644 index 000000000000..5ebb9467c5b2 --- /dev/null +++ b/pkgs/by-name/fa/fastjar/tests/version-grepjar.nix @@ -0,0 +1,6 @@ +{ fastjar, testers }: + +testers.testVersion { + package = fastjar; + command = "grepjar --version"; +}