From 810da0480b8bf24b1a2f2e0278494cceb5f31964 Mon Sep 17 00:00:00 2001 From: Guillaume Racicot Date: Tue, 10 Oct 2023 16:10:28 -0400 Subject: vcpkg: init at 2023.08.09 --- pkgs/by-name/vc/vcpkg/package.nix | 51 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 pkgs/by-name/vc/vcpkg/package.nix diff --git a/pkgs/by-name/vc/vcpkg/package.nix b/pkgs/by-name/vc/vcpkg/package.nix new file mode 100644 index 000000000000..e8beeb0756a1 --- /dev/null +++ b/pkgs/by-name/vc/vcpkg/package.nix @@ -0,0 +1,51 @@ +{ fetchFromGitHub +, stdenvNoCC +, lib +, vcpkg-tool +, writeShellScript +}: + +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "vcpkg"; + version = "2023.10.19"; + + src = fetchFromGitHub { + owner = "microsoft"; + repo = "vcpkg"; + rev = finalAttrs.version; + hash = "sha256-u+4vyOphnowoaZgfkCbzF7Q4tuz2GN1bHylaKw352Lc="; + }; + + installPhase = let + # vcpkg needs two directories to write to that is independent of installation directory. + # Since vcpkg already creates $HOME/.vcpkg/ we use that to create a root where vcpkg can write into. + vcpkgScript = writeShellScript "vcpkg" '' + vcpkg_writable_path="$HOME/.vcpkg/root/" + + VCPKG_ROOT="@out@/share/vcpkg" ${vcpkg-tool}/bin/vcpkg \ + --x-downloads-root="$vcpkg_writable_path"/downloads \ + --x-buildtrees-root="$vcpkg_writable_path"/buildtrees \ + --x-packages-root="$vcpkg_writable_path"/packages \ + "$@" + ''; + in '' + runHook preInstall + + mkdir -p $out/bin $out/share/vcpkg/scripts/buildsystems + cp --preserve=mode -r ./{docs,ports,triplets,scripts,.vcpkg-root,versions,LICENSE.txt} $out/share/vcpkg/ + substitute ${vcpkgScript} $out/bin/vcpkg --subst-var-by out $out + chmod +x $out/bin/vcpkg + ln -s $out/bin/vcpkg $out/share/vcpkg/vcpkg + touch $out/share/vcpkg/vcpkg.disable-metrics + + runHook postInstall + ''; + + meta = { + description = "C++ Library Manager"; + homepage = "https://vcpkg.io/"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ guekka gracicot ]; + platforms = lib.platforms.all; + }; +}) -- cgit 1.4.1