diff options
author | Paul Meyer <49727155+katexochen@users.noreply.github.com> | 2023-11-09 17:43:05 +0100 |
---|---|---|
committer | Paul Meyer <49727155+katexochen@users.noreply.github.com> | 2023-12-05 11:31:07 +0100 |
commit | 1d845b40d4cb3e111f0fed7e4fc22af19db4509a (patch) | |
tree | a57f60447c3b3bfc4ea9abc5bfc05b2d86a9d4f0 /pkgs/tools/package-management/libcomps | |
parent | 4119ae605a84bd7d2cf3ea9ff3c9d55080a0cd6e (diff) |
libcomps: init at 0.1.20
Diffstat (limited to 'pkgs/tools/package-management/libcomps')
-rw-r--r-- | pkgs/tools/package-management/libcomps/default.nix | 65 | ||||
-rw-r--r-- | pkgs/tools/package-management/libcomps/fix-python-install-dir.patch | 13 |
2 files changed, 78 insertions, 0 deletions
diff --git a/pkgs/tools/package-management/libcomps/default.nix b/pkgs/tools/package-management/libcomps/default.nix new file mode 100644 index 0000000000000..89c2982497df4 --- /dev/null +++ b/pkgs/tools/package-management/libcomps/default.nix @@ -0,0 +1,65 @@ +{ lib +, check +, cmake +, doxygen +, expat +, fetchFromGitHub +, libxml2 +, python +, sphinx +, stdenv +, zlib +}: + +stdenv.mkDerivation rec { + pname = "libcomps"; + version = "0.1.20"; + + outputs = [ "out" "dev" "py" ]; + + src = fetchFromGitHub { + owner = "rpm-software-management"; + repo = "libcomps"; + rev = version; + hash = "sha256-IX4du1+G7lwWrGnllydnBDap2aqK5pzos1Mdyu4MzOU="; + }; + + patches = [ + ./fix-python-install-dir.patch + ]; + + postPatch = '' + substituteInPlace libcomps/src/python/src/CMakeLists.txt \ + --replace "@PYTHON_INSTALL_DIR@" "$out/${python.sitePackages}" + ''; + + nativeBuildInputs = [ + check + cmake + doxygen + python + sphinx + ]; + + buildInputs = [ + expat + libxml2 + zlib + ]; + + dontUseCmakeBuildDir = true; + cmakeDir = "libcomps"; + + postFixup = '' + ls $out/lib + moveToOutput "lib/${python.libPrefix}" "$py" + ''; + + meta = with lib; { + description = "Comps XML file manipulation library"; + homepage = "https://github.com/rpm-software-management/libcomps"; + license = licenses.gpl2Only; + maintainers = with maintainers; [ katexochen ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/tools/package-management/libcomps/fix-python-install-dir.patch b/pkgs/tools/package-management/libcomps/fix-python-install-dir.patch new file mode 100644 index 0000000000000..958b4c80843c5 --- /dev/null +++ b/pkgs/tools/package-management/libcomps/fix-python-install-dir.patch @@ -0,0 +1,13 @@ +diff --git a/libcomps/src/python/src/CMakeLists.txt b/libcomps/src/python/src/CMakeLists.txt +index d22b84e..57bd1c2 100644 +--- a/libcomps/src/python/src/CMakeLists.txt ++++ b/libcomps/src/python/src/CMakeLists.txt +@@ -85,7 +85,7 @@ IF (SKBUILD) + INSTALL(FILES libcomps/__init__.py DESTINATION libcomps/src/python/src/libcomps) + INSTALL(TARGETS pycomps LIBRARY DESTINATION libcomps/src/python/src/libcomps) + ELSE () +- EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "from sys import stdout; from sysconfig import get_path; stdout.write(get_path('platlib'))" OUTPUT_VARIABLE PYTHON_INSTALL_DIR) ++ SET(PYTHON_INSTALL_DIR "@PYTHON_INSTALL_DIR@") + + INSTALL(FILES ${pycomps_SRCDIR}/libcomps/__init__.py DESTINATION ${PYTHON_INSTALL_DIR}/libcomps) + #INSTALL(FILES ${pycomps_SRCDIR}/tests/__test.py DESTINATION |