From 3eb2467926ff0a2eb980965f8a286f7c444c7739 Mon Sep 17 00:00:00 2001 From: huantian Date: Sat, 5 Jul 2025 13:04:10 -0700 Subject: [PATCH 1/5] unityhub: remove 2019 support since gconf is broken --- pkgs/development/tools/unityhub/default.nix | 6 ------ 1 file changed, 6 deletions(-) diff --git a/pkgs/development/tools/unityhub/default.nix b/pkgs/development/tools/unityhub/default.nix index 2c624dc3f848..d8ef79a9fbb9 100644 --- a/pkgs/development/tools/unityhub/default.nix +++ b/pkgs/development/tools/unityhub/default.nix @@ -101,12 +101,6 @@ stdenv.mkDerivation rec { clang git # for git-based packages in unity package manager - # Unity Editor 2019 specific dependencies - xorg.libXi - xorg.libXrender - gnome2.GConf - libcap - # Unity Editor 6000 specific dependencies harfbuzz vulkan-loader From 1d1c808e2851e12d9e496e443d53aad81b3691b4 Mon Sep 17 00:00:00 2001 From: huantian Date: Sat, 5 Jul 2025 13:06:30 -0700 Subject: [PATCH 2/5] unityhub: move to pkgs/by-name --- .../unityhub/default.nix => by-name/un/unityhub/package.nix} | 0 pkgs/{development/tools => by-name/un}/unityhub/update.sh | 2 +- pkgs/top-level/all-packages.nix | 2 -- 3 files changed, 1 insertion(+), 3 deletions(-) rename pkgs/{development/tools/unityhub/default.nix => by-name/un/unityhub/package.nix} (100%) rename pkgs/{development/tools => by-name/un}/unityhub/update.sh (94%) diff --git a/pkgs/development/tools/unityhub/default.nix b/pkgs/by-name/un/unityhub/package.nix similarity index 100% rename from pkgs/development/tools/unityhub/default.nix rename to pkgs/by-name/un/unityhub/package.nix diff --git a/pkgs/development/tools/unityhub/update.sh b/pkgs/by-name/un/unityhub/update.sh similarity index 94% rename from pkgs/development/tools/unityhub/update.sh rename to pkgs/by-name/un/unityhub/update.sh index 646652aa6fc4..6ff45fedcc39 100755 --- a/pkgs/development/tools/unityhub/update.sh +++ b/pkgs/by-name/un/unityhub/update.sh @@ -3,7 +3,7 @@ # set -euo pipefail new_version="$(curl https://hub-dist.unity3d.com/artifactory/hub-debian-prod-local/dists/stable/main/binary-amd64/Packages --silent | sed -nE "s/^Version: ([0-9]+\.[0-9]+\.[0-9]+)$/\1/p" | sort -V | tail -n 1)" -old_version="$(sed -nE 's/^\s*version = "([0-9]+\.[0-9]+\.[0-9]+)";$/\1/p' ./default.nix)" +old_version="$(sed -nE 's/^\s*version = "([0-9]+\.[0-9]+\.[0-9]+)";$/\1/p' ./package.nix)" if [[ "$new_version" == "$old_version" ]]; then echo "Up to date" diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a159bbc614fb..3edbfa4246c4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16192,8 +16192,6 @@ with pkgs; terraform-landscape = callPackage ../applications/networking/cluster/terraform-landscape { }; - unityhub = callPackage ../development/tools/unityhub { }; - vaultenv = haskell.lib.justStaticExecutables haskellPackages.vaultenv; vaultwarden-sqlite = vaultwarden; From 7a637d9c2da700ff18163981e358f420fe6852f0 Mon Sep 17 00:00:00 2001 From: huantian Date: Sat, 5 Jul 2025 13:09:09 -0700 Subject: [PATCH 3/5] unityhub: 3.12.1 -> 3.13.1 --- pkgs/by-name/un/unityhub/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/un/unityhub/package.nix b/pkgs/by-name/un/unityhub/package.nix index d8ef79a9fbb9..6200bd8270df 100644 --- a/pkgs/by-name/un/unityhub/package.nix +++ b/pkgs/by-name/un/unityhub/package.nix @@ -11,11 +11,11 @@ stdenv.mkDerivation rec { pname = "unityhub"; - version = "3.12.1"; + version = "3.13.1"; src = fetchurl { url = "https://hub-dist.unity3d.com/artifactory/hub-debian-prod-local/pool/main/u/unity/unityhub_amd64/unityhub-amd64-${version}.deb"; - sha256 = "sha256-Zpzl3H8cgVmPqpRAakL3m12OZ04Ddzpm+2krkuEkwrk="; + sha256 = "sha256-gBQrz6CNlUyhxeLmY6tNtxpaQJSEW00r7MGyIDtYdiY="; }; nativeBuildInputs = [ From 40c0959d6cf04791cca0c161de571e7231d1fbfd Mon Sep 17 00:00:00 2001 From: huantian Date: Sat, 5 Jul 2025 13:24:27 -0700 Subject: [PATCH 4/5] unityhub: package cleanup --- pkgs/by-name/un/unityhub/package.nix | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/pkgs/by-name/un/unityhub/package.nix b/pkgs/by-name/un/unityhub/package.nix index 6200bd8270df..292eae8e8696 100644 --- a/pkgs/by-name/un/unityhub/package.nix +++ b/pkgs/by-name/un/unityhub/package.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "https://hub-dist.unity3d.com/artifactory/hub-debian-prod-local/pool/main/u/unity/unityhub_amd64/unityhub-amd64-${version}.deb"; - sha256 = "sha256-gBQrz6CNlUyhxeLmY6tNtxpaQJSEW00r7MGyIDtYdiY="; + hash = "sha256-gBQrz6CNlUyhxeLmY6tNtxpaQJSEW00r7MGyIDtYdiY="; }; nativeBuildInputs = [ @@ -117,8 +117,6 @@ stdenv.mkDerivation rec { ++ extraLibs pkgs; }; - unpackCmd = "dpkg -x $curSrc src"; - dontConfigure = true; dontBuild = true; @@ -129,35 +127,31 @@ stdenv.mkDerivation rec { mv opt/ usr/share/ $out # `/opt/unityhub/unityhub` is a shell wrapper that runs `/opt/unityhub/unityhub-bin` - # Which we don't need and overwrite with our own custom wrapper + # which we don't need and overwrite with our own wrapper that uses the fhs env. makeWrapper ${fhsEnv}/bin/${pname}-fhs-env $out/opt/unityhub/unityhub \ --add-flags $out/opt/unityhub/unityhub-bin \ --argv0 unityhub - # Link binary mkdir -p $out/bin ln -s $out/opt/unityhub/unityhub $out/bin/unityhub # Replace absolute path in desktop file to correctly point to nix store substituteInPlace $out/share/applications/unityhub.desktop \ - --replace /opt/unityhub/unityhub $out/opt/unityhub/unityhub + --replace-fail /opt/unityhub/unityhub $out/opt/unityhub/unityhub runHook postInstall ''; passthru.updateScript = ./update.sh; - meta = with lib; { + meta = { description = "Official Unity3D app to download and manage Unity Projects and installations"; homepage = "https://unity.com/"; downloadPage = "https://unity.com/unity-hub"; - changelog = "https://unity.com/unity-hub/release-notes"; - license = licenses.unfree; - maintainers = with maintainers; [ - tesq0 - huantian - ]; + changelog = "https://unity.com/unity-hub/release-notes#${version}"; + license = lib.licenses.unfree; + maintainers = with lib.maintainers; [ huantian ]; platforms = [ "x86_64-linux" ]; - sourceProvenance = with sourceTypes; [ binaryNativeCode ]; + sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; }; } From b18b32ed50442a76511753d0ff1a3231eb371e6d Mon Sep 17 00:00:00 2001 From: huantian Date: Sat, 2 Aug 2025 15:11:27 -0700 Subject: [PATCH 5/5] unityhub: use overrideAttrs for old libxml2 fixes #419634 before #421740 is merged to master --- pkgs/by-name/un/unityhub/package.nix | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/un/unityhub/package.nix b/pkgs/by-name/un/unityhub/package.nix index 292eae8e8696..ab7dd5b92db9 100644 --- a/pkgs/by-name/un/unityhub/package.nix +++ b/pkgs/by-name/un/unityhub/package.nix @@ -96,7 +96,18 @@ stdenv.mkDerivation rec { xorg.libXcursor glib gdk-pixbuf - libxml2 + (libxml2.overrideAttrs (oldAttrs: rec { + version = "2.13.8"; + src = fetchurl { + url = "mirror://gnome/sources/libxml2/${lib.versions.majorMinor version}/libxml2-${version}.tar.xz"; + hash = "sha256-J3KUyzMRmrcbK8gfL0Rem8lDW4k60VuyzSsOhZoO6Eo="; + }; + meta = oldAttrs.meta // { + knownVulnerabilities = oldAttrs.meta.knownVulnerabilities or [ ] ++ [ + "CVE-2025-6021" + ]; + }; + })) zlib clang git # for git-based packages in unity package manager