diff --git a/pkgs/development/tools/cpm/default.nix b/pkgs/development/tools/cpm/default.nix new file mode 100644 index 000000000000..114a94d0c68e --- /dev/null +++ b/pkgs/development/tools/cpm/default.nix @@ -0,0 +1,39 @@ +{ lib +, stdenv +, fetchFromGitHub +}: + +stdenv.mkDerivation rec { + pname = "cpm"; + version = "0.35.1"; + + src = fetchFromGitHub { + owner = "cpm-cmake"; + repo = "CPM.cmake"; + rev = "v${version}"; + hash = "sha256-Oon/5iwkUUASsUDvde69iEwLe8/CAzwYKYsyzH5K+V0="; + }; + + dontConfigure = true; + + dontBuild = true; + + installPhase = '' + mkdir -p ${placeholder "out"}/share/cpm/ + cp ./cmake/CPM.cmake ${placeholder "out"}/share/cpm/ + ''; + + meta = with lib; { + homepage = "https://github.com/cpm-cmake/CPM.cmake"; + description = "CMake's missing package manager"; + longDescription = '' + CPM.cmake is a cross-platform CMake script that adds dependency + management capabilities to CMake. It's built as a thin wrapper around + CMake's FetchContent module that adds version control, caching, a + simple API and more. + ''; + license = licenses.mit; + maintainers = with maintainers; [ ken-matsui ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9e65d7719fae..5d594c4b0754 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -382,6 +382,8 @@ with pkgs; cp437 = callPackage ../tools/misc/cp437 { }; + cpm = callPackage ../development/tools/cpm { }; + cpu-x = callPackage ../applications/misc/cpu-x { }; crackle = callPackage ../tools/networking/crackle { };