From aeb5f9a803fac201f75381eadbd55d97884ac0ca Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Sun, 6 Oct 2024 22:02:01 +0300 Subject: [PATCH 1/4] hdfview: use finalAttrs: {} pattern --- pkgs/tools/misc/hdfview/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/tools/misc/hdfview/default.nix b/pkgs/tools/misc/hdfview/default.nix index 83597d45004e..490a59ec141e 100644 --- a/pkgs/tools/misc/hdfview/default.nix +++ b/pkgs/tools/misc/hdfview/default.nix @@ -1,11 +1,11 @@ { lib, stdenv, fetchurl, ant, jdk, hdf4, hdf5, makeDesktopItem, copyDesktopItems, strip-nondeterminism, stripJavaArchivesHook }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "hdfview"; version = "3.3.1"; src = fetchurl { - url = "https://support.hdfgroup.org/ftp/HDF5/releases/HDF-JAVA/hdfview-${version}/src/hdfview-${version}.tar.gz"; + url = "https://support.hdfgroup.org/ftp/HDF5/releases/HDF-JAVA/hdfview-${finalAttrs.version}/src/hdfview-${finalAttrs.version}.tar.gz"; sha256 = "sha256-WcGYceMOB8gCycJSW4KdApy2gIBgTnE/d0PxGZClUqg="; }; @@ -46,7 +46,7 @@ stdenv.mkDerivation rec { desktopName = name; exec = name; icon = name; - comment = meta.description; + comment = finalAttrs.finalPackage.meta.description; categories = [ "Science" "DataVisualization" ]; }; @@ -77,8 +77,8 @@ stdenv.mkDerivation rec { description = "A visual tool for browsing and editing HDF4 and HDF5 files"; license = lib.licenses.free; # BSD-like homepage = "https://www.hdfgroup.org/downloads/hdfview"; - platforms = lib.platforms.linux ++ lib.platforms.darwin; + platforms = lib.platforms.unix; maintainers = with lib.maintainers; [ jiegec ]; mainProgram = "HDFView"; }; -} +}) From 1f954946165eab8224ead8a6efa6ab7e68f9f992 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Sun, 6 Oct 2024 22:02:45 +0300 Subject: [PATCH 2/4] hdfview: 3.3.1 -> 3.3.2; use GitHub source From version 3.3.1 is not yet published on the same URL. Also new versions there are much more discoverable. --- pkgs/tools/misc/hdfview/default.nix | 13 ++++--- .../misc/hdfview/disable-mac-signing.patch | 39 +++++++++++++++---- 2 files changed, 39 insertions(+), 13 deletions(-) diff --git a/pkgs/tools/misc/hdfview/default.nix b/pkgs/tools/misc/hdfview/default.nix index 490a59ec141e..ede272ca7317 100644 --- a/pkgs/tools/misc/hdfview/default.nix +++ b/pkgs/tools/misc/hdfview/default.nix @@ -1,12 +1,14 @@ -{ lib, stdenv, fetchurl, ant, jdk, hdf4, hdf5, makeDesktopItem, copyDesktopItems, strip-nondeterminism, stripJavaArchivesHook }: +{ lib, stdenv, fetchFromGitHub, ant, jdk, hdf4, hdf5, makeDesktopItem, copyDesktopItems, strip-nondeterminism, stripJavaArchivesHook }: stdenv.mkDerivation (finalAttrs: { pname = "hdfview"; - version = "3.3.1"; + version = "3.3.2"; - src = fetchurl { - url = "https://support.hdfgroup.org/ftp/HDF5/releases/HDF-JAVA/hdfview-${finalAttrs.version}/src/hdfview-${finalAttrs.version}.tar.gz"; - sha256 = "sha256-WcGYceMOB8gCycJSW4KdApy2gIBgTnE/d0PxGZClUqg="; + src = fetchFromGitHub { + owner = "HDFGroup"; + repo = "hdfview"; + rev = "refs/tags/v${finalAttrs.version}"; + sha256 = "sha256-aJHeknkF38qDH9l+vuzdKFZZTcs/XMjtlHuu/LTF124="; }; patches = [ @@ -77,6 +79,7 @@ stdenv.mkDerivation (finalAttrs: { description = "A visual tool for browsing and editing HDF4 and HDF5 files"; license = lib.licenses.free; # BSD-like homepage = "https://www.hdfgroup.org/downloads/hdfview"; + downloadPage = "https://github.com/HDFGroup/hdfview"; platforms = lib.platforms.unix; maintainers = with lib.maintainers; [ jiegec ]; mainProgram = "HDFView"; diff --git a/pkgs/tools/misc/hdfview/disable-mac-signing.patch b/pkgs/tools/misc/hdfview/disable-mac-signing.patch index d7d67f7ac608..f72c1c4c3928 100644 --- a/pkgs/tools/misc/hdfview/disable-mac-signing.patch +++ b/pkgs/tools/misc/hdfview/disable-mac-signing.patch @@ -1,8 +1,31 @@ -diff --git a/build.xml b/build.xml -index 70ab3e2..9460321 100644 ---- a/build.xml -+++ b/build.xml -@@ -1802,13 +1802,6 @@ +diff --git i/build.xml w/build.xml +index 3bbd89b..5834e7c 100644 +--- i/build.xml ++++ w/build.xml +@@ -1607,14 +1607,6 @@ + + + +- +- +- +- +- +- +- +- + JXPackage the mac application + + +@@ -1680,7 +1672,6 @@ + + + +- + + + +@@ -2054,13 +2045,6 @@ description="Create the final package for distribution" /> @@ -10,13 +33,13 @@ index 70ab3e2..9460321 100644 - - - -- -- +- +- - Create the mac jpackage -@@ -1864,7 +1857,6 @@ +@@ -2116,7 +2100,6 @@ From cbdd781c53f312a14880eadfd7a5397ed2da5159 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Sun, 6 Oct 2024 22:14:21 +0300 Subject: [PATCH 3/4] hdfview: nixfmt --- pkgs/tools/misc/hdfview/default.nix | 55 +++++++++++++++++++---------- 1 file changed, 37 insertions(+), 18 deletions(-) diff --git a/pkgs/tools/misc/hdfview/default.nix b/pkgs/tools/misc/hdfview/default.nix index ede272ca7317..97dff6be3c95 100644 --- a/pkgs/tools/misc/hdfview/default.nix +++ b/pkgs/tools/misc/hdfview/default.nix @@ -1,4 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, ant, jdk, hdf4, hdf5, makeDesktopItem, copyDesktopItems, strip-nondeterminism, stripJavaArchivesHook }: +{ + lib, + stdenv, + fetchFromGitHub, + ant, + jdk, + hdf4, + hdf5, + makeDesktopItem, + copyDesktopItems, + strip-nondeterminism, + stripJavaArchivesHook, +}: stdenv.mkDerivation (finalAttrs: { pname = "hdfview"; @@ -49,26 +61,33 @@ stdenv.mkDerivation (finalAttrs: { exec = name; icon = name; comment = finalAttrs.finalPackage.meta.description; - categories = [ "Science" "DataVisualization" ]; + categories = [ + "Science" + "DataVisualization" + ]; }; - installPhase = '' - runHook preInstall - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - mkdir -p $out/bin $out/lib - cp -a build/dist/HDFView/bin/HDFView $out/bin/ - cp -a build/dist/HDFView/lib/app $out/lib/ - cp -a build/dist/HDFView/lib/libapplauncher.so $out/lib/ - ln -s ${jdk}/lib/openjdk $out/lib/runtime + installPhase = + '' + runHook preInstall + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + mkdir -p $out/bin $out/lib + cp -a build/dist/HDFView/bin/HDFView $out/bin/ + cp -a build/dist/HDFView/lib/app $out/lib/ + cp -a build/dist/HDFView/lib/libapplauncher.so $out/lib/ + ln -s ${jdk}/lib/openjdk $out/lib/runtime - mkdir -p $out/share/applications $out/share/icons/hicolor/32x32/apps - cp src/HDFView.png $out/share/icons/hicolor/32x32/apps/ - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - mkdir -p $out/Applications - cp -a build/dist/HDFView.app $out/Applications/ - '' + '' - runHook postInstall - ''; + mkdir -p $out/share/applications $out/share/icons/hicolor/32x32/apps + cp src/HDFView.png $out/share/icons/hicolor/32x32/apps/ + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + mkdir -p $out/Applications + cp -a build/dist/HDFView.app $out/Applications/ + '' + + '' + runHook postInstall + ''; preFixup = '' # Remove build timestamp from javadoc files From e5096502a6a8d7496324d71b8ca6f2c65ff23b26 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Sun, 6 Oct 2024 22:34:41 +0300 Subject: [PATCH 4/4] hdfview: mark as broken References for GitHub: - https://github.com/NixOS/nixpkgs/issues/340048 - https://github.com/NixOS/nixpkgs/issues/219771 --- pkgs/tools/misc/hdfview/default.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/tools/misc/hdfview/default.nix b/pkgs/tools/misc/hdfview/default.nix index 97dff6be3c95..3274762d87c3 100644 --- a/pkgs/tools/misc/hdfview/default.nix +++ b/pkgs/tools/misc/hdfview/default.nix @@ -102,5 +102,12 @@ stdenv.mkDerivation (finalAttrs: { platforms = lib.platforms.unix; maintainers = with lib.maintainers; [ jiegec ]; mainProgram = "HDFView"; + # Startup issue is described here: + # https://github.com/NixOS/nixpkgs/issues/340048 A possible solution is + # suggested here: + # https://forum.hdfgroup.org/t/building-hdfview-3-1-0-on-centos-6-swt-library-not-found/5698 + # But it requires us to update swt, which is a bit hard, the swt update is tracked here: + # https://github.com/NixOS/nixpkgs/issues/219771 + broken = true; }; })