From 9828d404e425db21ffc792d729f6a7b475fbfe2b Mon Sep 17 00:00:00 2001 From: Zexin Yuan Date: Thu, 4 Sep 2025 14:06:52 +0800 Subject: [PATCH] draco: modernize --- pkgs/by-name/dr/draco/package.nix | 29 ++++++++++++++--------------- pkgs/by-name/dr/draco/tinygltf.nix | 5 +---- 2 files changed, 15 insertions(+), 19 deletions(-) diff --git a/pkgs/by-name/dr/draco/package.nix b/pkgs/by-name/dr/draco/package.nix index d17e8e471f63..e2f5ff3c4dcb 100644 --- a/pkgs/by-name/dr/draco/package.nix +++ b/pkgs/by-name/dr/draco/package.nix @@ -14,12 +14,11 @@ }: let - cmakeBool = b: if b then "ON" else "OFF"; tinygltf = callPackage ./tinygltf.nix { }; in stdenv.mkDerivation (finalAttrs: { - version = "1.5.7"; pname = "draco"; + version = "1.5.7"; src = fetchFromGitHub { owner = "google"; @@ -32,9 +31,14 @@ stdenv.mkDerivation (finalAttrs: { # ld: unknown option: --start-group postPatch = '' substituteInPlace cmake/draco_targets.cmake \ - --replace "^Clang" "^AppleClang" + --replace-fail "^Clang" "^AppleClang" ''; + nativeBuildInputs = [ + cmake + python3 + ]; + buildInputs = [ gtest ] @@ -44,21 +48,16 @@ stdenv.mkDerivation (finalAttrs: { tinygltf ]; - nativeBuildInputs = [ - cmake - python3 - ]; - cmakeFlags = [ - "-DDRACO_ANIMATION_ENCODING=${cmakeBool withAnimation}" - "-DDRACO_GOOGLETEST_PATH=${gtest}" - "-DBUILD_SHARED_LIBS=${cmakeBool true}" - "-DDRACO_TRANSCODER_SUPPORTED=${cmakeBool withTranscoder}" + (lib.cmakeFeature "DRACO_GOOGLETEST_PATH" (builtins.toString gtest)) + (lib.cmakeBool "DRACO_ANIMATION_ENCODING" withAnimation) + (lib.cmakeBool "BUILD_SHARED_LIBS" true) + (lib.cmakeBool "DRACO_TRANSCODER_SUPPORTED" withTranscoder) ] ++ lib.optionals withTranscoder [ - "-DDRACO_EIGEN_PATH=${eigen}/include/eigen3" - "-DDRACO_FILESYSTEM_PATH=${ghc_filesystem}" - "-DDRACO_TINYGLTF_PATH=${tinygltf}" + (lib.cmakeFeature "DRACO_EIGEN_PATH" "${eigen}/include/eigen3") + (lib.cmakeFeature "DRACO_FILESYSTEM_PATH" (builtins.toString ghc_filesystem)) + (lib.cmakeFeature "DRACO_TINYGLTF_PATH" (builtins.toString tinygltf)) ]; env.CXXFLAGS = toString [ diff --git a/pkgs/by-name/dr/draco/tinygltf.nix b/pkgs/by-name/dr/draco/tinygltf.nix index 49b762f933bb..035cb6d56103 100644 --- a/pkgs/by-name/dr/draco/tinygltf.nix +++ b/pkgs/by-name/dr/draco/tinygltf.nix @@ -2,7 +2,6 @@ lib, stdenv, fetchFromGitHub, - nix-update-script, cmake, }: @@ -13,14 +12,12 @@ stdenv.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "syoyo"; repo = "tinygltf"; - rev = "v${finalAttrs.version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-uQlv+mUWnqUJIXnPf2pVuRg1akcXAfqyBIzPPmm4Np4="; }; nativeBuildInputs = [ cmake ]; - passthru.updateScript = nix-update-script { }; - meta = { description = "Header only C++11 tiny glTF 2.0 library"; homepage = "https://github.com/syoyo/tinygltf";