From 02a0acfd655ff647f1a80fa1930e8b3c032798c9 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Fri, 8 Mar 2024 10:51:05 -0300 Subject: [PATCH 1/8] vkd3d-proton: migrate to by-name --- .../default.nix => by-name/vk/vkd3d-proton/package.nix} | 0 pkgs/top-level/all-packages.nix | 2 -- 2 files changed, 2 deletions(-) rename pkgs/{development/libraries/vkd3d-proton/default.nix => by-name/vk/vkd3d-proton/package.nix} (100%) diff --git a/pkgs/development/libraries/vkd3d-proton/default.nix b/pkgs/by-name/vk/vkd3d-proton/package.nix similarity index 100% rename from pkgs/development/libraries/vkd3d-proton/default.nix rename to pkgs/by-name/vk/vkd3d-proton/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ee98649d944a..41b40791ca70 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -24365,8 +24365,6 @@ with pkgs; hdf5 = hdf5.override { usev110Api = true; }; }; - vkd3d-proton = callPackage ../development/libraries/vkd3d-proton {}; - vkdisplayinfo = callPackage ../tools/graphics/vkdisplayinfo { }; vkdt = callPackage ../applications/graphics/vkdt { }; From dced6710d631d01c801e3af91645287cb1727b98 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Mon, 22 Jul 2024 23:58:01 -0300 Subject: [PATCH 2/8] vkd3d-proton: huge refactor - detach sources acquisition to `sources.nix` Because it is a bit complex: - fetchSubmodules - maybe they should be manually fetched? - the build scripts call Git commands Also, passthru them. - split outputs - strictDeps - no nested with - change maintainer to AndersonTorres Since expipiplus1 is inactive. --- pkgs/by-name/vk/vkd3d-proton/package.nix | 66 +++++++++++++----------- pkgs/by-name/vk/vkd3d-proton/sources.nix | 40 ++++++++++++++ 2 files changed, 76 insertions(+), 30 deletions(-) create mode 100644 pkgs/by-name/vk/vkd3d-proton/sources.nix diff --git a/pkgs/by-name/vk/vkd3d-proton/package.nix b/pkgs/by-name/vk/vkd3d-proton/package.nix index e930d19ba423..a8d1aa7f1071 100644 --- a/pkgs/by-name/vk/vkd3d-proton/package.nix +++ b/pkgs/by-name/vk/vkd3d-proton/package.nix @@ -1,41 +1,47 @@ -{ lib, stdenv, fetchFromGitHub, meson, ninja, wine, glslang }: +{ + lib, + callPackage, + glslang, + meson, + ninja, + stdenv, + wine, +}: let - # these are both embedded in the output files - rev = "83308675078e9ea263fa8c37af95afdd15b3ab71"; - # git describe --tags - shortRev = builtins.substring 0 8 rev; - realVersion = "v2.8-302-g${shortRev}"; + sources = callPackage ./sources.nix { }; in +stdenv.mkDerivation (finalAttrs: { + inherit (sources.vkd3d-proton) pname version src; -stdenv.mkDerivation rec { - pname = "vkd3d-proton"; - version = "unstable-2023-04-21"; + outputs = [ "out" "dev" ]; - nativeBuildInputs = [ meson ninja wine glslang ]; + nativeBuildInputs = [ + glslang + meson + ninja + wine + ]; - src = fetchFromGitHub { - owner = "HansKristian-Work"; - repo = pname; - inherit rev; - hash = "sha256-iLpVvYmWhqy0rbbyJoT+kxzIqp68Vsb/TkihGtQQucU="; - fetchSubmodules = true; - }; + strictDeps = true; - prePatch = '' + postPatch = '' substituteInPlace meson.build \ - --replace "vkd3d_build = vcs_tag(" \ - "vkd3d_build = vcs_tag( fallback : '${shortRev}'", \ - --replace "vkd3d_version = vcs_tag(" \ - "vkd3d_version = vcs_tag( fallback : '${realVersion}'", + --replace-fail "vkd3d_build = vcs_tag(" \ + "vkd3d_build = vcs_tag( fallback : '$(cat .nixpkgs-auxfiles/vkd3d_build)'", \ + --replace-fail "vkd3d_version = vcs_tag(" \ + "vkd3d_version = vcs_tag( fallback : '$(cat .nixpkgs-auxfiles/vkd3d_version)'", ''; - meta = with lib; { - homepage = "https://github.com/HansKristian-Work/vkd3d-proton"; - description = - "A fork of VKD3D, which aims to implement the full Direct3D 12 API on top of Vulkan"; - license = licenses.lgpl21; - maintainers = with maintainers; [ expipiplus1 ]; - platforms = platforms.all; + passthru = { + inherit sources; }; -} + + meta = { + homepage = "https://github.com/HansKristian-Work/vkd3d-proton"; + description = "A fork of VKD3D, which aims to implement the full Direct3D 12 API on top of Vulkan"; + license = with lib.licenses; [ lgpl21Plus ]; + maintainers = with lib.maintainers; [ AndersonTorres ]; + inherit (wine.meta) platforms; + }; +}) diff --git a/pkgs/by-name/vk/vkd3d-proton/sources.nix b/pkgs/by-name/vk/vkd3d-proton/sources.nix new file mode 100644 index 000000000000..91a56dcb1335 --- /dev/null +++ b/pkgs/by-name/vk/vkd3d-proton/sources.nix @@ -0,0 +1,40 @@ +{ + fetchFromGitHub, +}: + +{ + vkd3d-proton = let + self = { + pname = "vkd3d-proton"; + version = "2.8-unstable-2023-04-21"; + + src = fetchFromGitHub { + owner = "HansKristian-Work"; + repo = "vkd3d-proton"; + rev = "83308675078e9ea263fa8c37af95afdd15b3ab71"; + fetchSubmodules = true; + # + # Some files are filled by using Git commands; it requires deepClone. + # More info at `checkout_ref` function in nix-prefetch-git. + # However, `.git` is a bit nondeterministic (and Git itself makes no + # guarrantees whatsoever). + # Then, in order to enhance reproducibility, what we will do here is: + # + # - Execute the desired Git commands; + # - Save the obtained info into files; + # - Remove `.git` afterwards. + # + deepClone = true; + postFetch = '' + cd $out + mkdir -p .nixpkgs-auxfiles/ + git describe --always --exclude='*' --abbrev=15 --dirty=0 > .nixpkgs-auxfiles/vkd3d_build + git describe --always --tags --dirty=+ > .nixpkgs-auxfiles/vkd3d_version + find $out -name .git -print0 | xargs -0 rm -fr + ''; + hash = "sha256-KAa7iidME3iVGLvGmCysU3Vnl14Et8Es/5n6m6E+jHU="; + }; + }; + in + self; +} From e9cb38e00d368f3698d5b5285fd0fa662d830a77 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Fri, 2 Aug 2024 11:54:05 -0300 Subject: [PATCH 3/8] vkd3d-proton: nixfmt-rfc-style --- pkgs/by-name/vk/vkd3d-proton/package.nix | 5 +- pkgs/by-name/vk/vkd3d-proton/sources.nix | 67 ++++++++++++------------ 2 files changed, 37 insertions(+), 35 deletions(-) diff --git a/pkgs/by-name/vk/vkd3d-proton/package.nix b/pkgs/by-name/vk/vkd3d-proton/package.nix index a8d1aa7f1071..f7897b2af283 100644 --- a/pkgs/by-name/vk/vkd3d-proton/package.nix +++ b/pkgs/by-name/vk/vkd3d-proton/package.nix @@ -14,7 +14,10 @@ in stdenv.mkDerivation (finalAttrs: { inherit (sources.vkd3d-proton) pname version src; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; nativeBuildInputs = [ glslang diff --git a/pkgs/by-name/vk/vkd3d-proton/sources.nix b/pkgs/by-name/vk/vkd3d-proton/sources.nix index 91a56dcb1335..f595273e2e33 100644 --- a/pkgs/by-name/vk/vkd3d-proton/sources.nix +++ b/pkgs/by-name/vk/vkd3d-proton/sources.nix @@ -1,40 +1,39 @@ -{ - fetchFromGitHub, -}: +{ fetchFromGitHub }: { - vkd3d-proton = let - self = { - pname = "vkd3d-proton"; - version = "2.8-unstable-2023-04-21"; + vkd3d-proton = + let + self = { + pname = "vkd3d-proton"; + version = "2.8-unstable-2023-04-21"; - src = fetchFromGitHub { - owner = "HansKristian-Work"; - repo = "vkd3d-proton"; - rev = "83308675078e9ea263fa8c37af95afdd15b3ab71"; - fetchSubmodules = true; - # - # Some files are filled by using Git commands; it requires deepClone. - # More info at `checkout_ref` function in nix-prefetch-git. - # However, `.git` is a bit nondeterministic (and Git itself makes no - # guarrantees whatsoever). - # Then, in order to enhance reproducibility, what we will do here is: - # - # - Execute the desired Git commands; - # - Save the obtained info into files; - # - Remove `.git` afterwards. - # - deepClone = true; - postFetch = '' - cd $out - mkdir -p .nixpkgs-auxfiles/ - git describe --always --exclude='*' --abbrev=15 --dirty=0 > .nixpkgs-auxfiles/vkd3d_build - git describe --always --tags --dirty=+ > .nixpkgs-auxfiles/vkd3d_version - find $out -name .git -print0 | xargs -0 rm -fr - ''; - hash = "sha256-KAa7iidME3iVGLvGmCysU3Vnl14Et8Es/5n6m6E+jHU="; + src = fetchFromGitHub { + owner = "HansKristian-Work"; + repo = "vkd3d-proton"; + rev = "83308675078e9ea263fa8c37af95afdd15b3ab71"; + fetchSubmodules = true; + # + # Some files are filled by using Git commands; it requires deepClone. + # More info at `checkout_ref` function in nix-prefetch-git. + # However, `.git` is a bit nondeterministic (and Git itself makes no + # guarrantees whatsoever). + # Then, in order to enhance reproducibility, what we will do here is: + # + # - Execute the desired Git commands; + # - Save the obtained info into files; + # - Remove `.git` afterwards. + # + deepClone = true; + postFetch = '' + cd $out + mkdir -p .nixpkgs-auxfiles/ + git describe --always --exclude='*' --abbrev=15 --dirty=0 > .nixpkgs-auxfiles/vkd3d_build + git describe --always --tags --dirty=+ > .nixpkgs-auxfiles/vkd3d_version + find $out -name .git -print0 | xargs -0 rm -fr + ''; + hash = "sha256-KAa7iidME3iVGLvGmCysU3Vnl14Et8Es/5n6m6E+jHU="; + }; }; - }; - in + in self; } From 71b09ba73770d42a54568567e0e100325174dee2 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Fri, 2 Aug 2024 11:57:05 -0300 Subject: [PATCH 4/8] vkd3d-proton: 2.8-unstable-2023-04-21 -> 2.9 --- pkgs/by-name/vk/vkd3d-proton/sources.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/vk/vkd3d-proton/sources.nix b/pkgs/by-name/vk/vkd3d-proton/sources.nix index f595273e2e33..0085d7af8453 100644 --- a/pkgs/by-name/vk/vkd3d-proton/sources.nix +++ b/pkgs/by-name/vk/vkd3d-proton/sources.nix @@ -5,12 +5,12 @@ let self = { pname = "vkd3d-proton"; - version = "2.8-unstable-2023-04-21"; + version = "2.9"; src = fetchFromGitHub { owner = "HansKristian-Work"; repo = "vkd3d-proton"; - rev = "83308675078e9ea263fa8c37af95afdd15b3ab71"; + rev = "v${self.version}"; fetchSubmodules = true; # # Some files are filled by using Git commands; it requires deepClone. @@ -31,7 +31,7 @@ git describe --always --tags --dirty=+ > .nixpkgs-auxfiles/vkd3d_version find $out -name .git -print0 | xargs -0 rm -fr ''; - hash = "sha256-KAa7iidME3iVGLvGmCysU3Vnl14Et8Es/5n6m6E+jHU="; + hash = "sha256-Ok81JdDdkaqr5WEku5V+Dc3/6uEXTj9TSd0eoz+0cpw="; }; }; in From c471d8486673d340a5d5db624f63e08791060d20 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Fri, 2 Aug 2024 11:58:45 -0300 Subject: [PATCH 5/8] vkd3d-proton: 2.9 -> 2.10 --- pkgs/by-name/vk/vkd3d-proton/sources.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/vk/vkd3d-proton/sources.nix b/pkgs/by-name/vk/vkd3d-proton/sources.nix index 0085d7af8453..50b603085ebc 100644 --- a/pkgs/by-name/vk/vkd3d-proton/sources.nix +++ b/pkgs/by-name/vk/vkd3d-proton/sources.nix @@ -5,7 +5,7 @@ let self = { pname = "vkd3d-proton"; - version = "2.9"; + version = "2.10"; src = fetchFromGitHub { owner = "HansKristian-Work"; @@ -31,7 +31,7 @@ git describe --always --tags --dirty=+ > .nixpkgs-auxfiles/vkd3d_version find $out -name .git -print0 | xargs -0 rm -fr ''; - hash = "sha256-Ok81JdDdkaqr5WEku5V+Dc3/6uEXTj9TSd0eoz+0cpw="; + hash = "sha256-cBQxuUknnzzK/CacVFizQKWeZ91jWy4vipBS6NuKO0k="; }; }; in From 6d55f9c9933b276b5e890dc21fe0be796f536775 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Fri, 2 Aug 2024 11:59:42 -0300 Subject: [PATCH 6/8] vkd3d-proton: 2.10 -> 2.11 --- pkgs/by-name/vk/vkd3d-proton/sources.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/vk/vkd3d-proton/sources.nix b/pkgs/by-name/vk/vkd3d-proton/sources.nix index 50b603085ebc..4af43d6e09e8 100644 --- a/pkgs/by-name/vk/vkd3d-proton/sources.nix +++ b/pkgs/by-name/vk/vkd3d-proton/sources.nix @@ -5,7 +5,7 @@ let self = { pname = "vkd3d-proton"; - version = "2.10"; + version = "2.11"; src = fetchFromGitHub { owner = "HansKristian-Work"; @@ -31,7 +31,7 @@ git describe --always --tags --dirty=+ > .nixpkgs-auxfiles/vkd3d_version find $out -name .git -print0 | xargs -0 rm -fr ''; - hash = "sha256-cBQxuUknnzzK/CacVFizQKWeZ91jWy4vipBS6NuKO0k="; + hash = "sha256-yqyi6ZsoEAgWTqvCj32hqmKvjmBuzgCa5IehrvXs8ck="; }; }; in From 2b8216810b551d006f104e354acc62b1d90604dc Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Fri, 2 Aug 2024 12:00:29 -0300 Subject: [PATCH 7/8] vkd3d-proton: 2.11 -> 2.12 --- pkgs/by-name/vk/vkd3d-proton/sources.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/vk/vkd3d-proton/sources.nix b/pkgs/by-name/vk/vkd3d-proton/sources.nix index 4af43d6e09e8..ae79a9ec41bc 100644 --- a/pkgs/by-name/vk/vkd3d-proton/sources.nix +++ b/pkgs/by-name/vk/vkd3d-proton/sources.nix @@ -5,7 +5,7 @@ let self = { pname = "vkd3d-proton"; - version = "2.11"; + version = "2.12"; src = fetchFromGitHub { owner = "HansKristian-Work"; @@ -31,7 +31,7 @@ git describe --always --tags --dirty=+ > .nixpkgs-auxfiles/vkd3d_version find $out -name .git -print0 | xargs -0 rm -fr ''; - hash = "sha256-yqyi6ZsoEAgWTqvCj32hqmKvjmBuzgCa5IehrvXs8ck="; + hash = "sha256-ev7wVxTapjhPBSNyJzbZXAnZUluCB2lMLkPH581zy9I="; }; }; in From 094830bb8ce24b42f62aa8381cb39131a49df542 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Fri, 2 Aug 2024 12:01:16 -0300 Subject: [PATCH 8/8] vkd3d-proton: 2.12 -> 2.13 --- pkgs/by-name/vk/vkd3d-proton/sources.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/vk/vkd3d-proton/sources.nix b/pkgs/by-name/vk/vkd3d-proton/sources.nix index ae79a9ec41bc..7db9c6804d92 100644 --- a/pkgs/by-name/vk/vkd3d-proton/sources.nix +++ b/pkgs/by-name/vk/vkd3d-proton/sources.nix @@ -5,7 +5,7 @@ let self = { pname = "vkd3d-proton"; - version = "2.12"; + version = "2.13"; src = fetchFromGitHub { owner = "HansKristian-Work"; @@ -31,7 +31,7 @@ git describe --always --tags --dirty=+ > .nixpkgs-auxfiles/vkd3d_version find $out -name .git -print0 | xargs -0 rm -fr ''; - hash = "sha256-ev7wVxTapjhPBSNyJzbZXAnZUluCB2lMLkPH581zy9I="; + hash = "sha256-dJYQ6pJdfRQwr8OrxxpWG6YMfeTXqzTrHXDd5Ecxbi8="; }; }; in