diff options
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 |