diff options
author | Marc Seeger <mseeger@fb.com> | 2020-12-22 15:48:49 -0800 |
---|---|---|
committer | Marc Seeger <mseeger@fb.com> | 2020-12-22 15:48:49 -0800 |
commit | dd5ffa7b94a19f4aeadbe49f53f6e3008fc1d7ad (patch) | |
tree | a877b5ebce88b50de24f4ccdfeb722de2dc73c56 /pkgs/tools | |
parent | 0312504c2ecce271308c0ffcd88d7a14655caa66 (diff) |
libdnf: init at 0.55.2
Diffstat (limited to 'pkgs/tools')
-rw-r--r-- | pkgs/tools/package-management/libdnf/darwin.patch | 35 | ||||
-rw-r--r-- | pkgs/tools/package-management/libdnf/default.nix | 66 |
2 files changed, 101 insertions, 0 deletions
diff --git a/pkgs/tools/package-management/libdnf/darwin.patch b/pkgs/tools/package-management/libdnf/darwin.patch new file mode 100644 index 000000000000..56bafb2f7b82 --- /dev/null +++ b/pkgs/tools/package-management/libdnf/darwin.patch @@ -0,0 +1,35 @@ +--- src/libdnf/hy-iutil.cpp 2020-12-02 07:53:42.000000000 -0800 ++++ src/libdnf/hy-iutil.cpp 2020-12-21 14:24:14.000000000 -0800 +@@ -22,7 +22,7 @@ + #include <errno.h> + #include <dirent.h> + #include <fcntl.h> +-#include <linux/limits.h> ++#include <limits.h> + #include <pwd.h> + #include <unistd.h> + #include <stdio.h> +--- src/libdnf/hy-util.cpp 2020-12-02 07:53:42.000000000 -0800 ++++ src/libdnf/hy-util.cpp 2020-12-21 14:23:21.000000000 -0800 +@@ -24,7 +24,20 @@ + #include <ctype.h> + #include <sys/utsname.h> + #include <sys/stat.h> +-#include <sys/auxv.h> ++ ++// Darwin compatibility hacks ++typedef int auxv_t; ++#ifndef AT_HWCAP2 ++#define AT_HWCAP2 26 ++#endif ++#ifndef AT_HWCAP ++#define AT_HWCAP 16 ++#endif ++static unsigned long getauxval(unsigned long type) ++{ ++ unsigned long ret = 0; ++ return ret; ++} + + // hawkey + #include "dnf-types.h" diff --git a/pkgs/tools/package-management/libdnf/default.nix b/pkgs/tools/package-management/libdnf/default.nix new file mode 100644 index 000000000000..480222a45de2 --- /dev/null +++ b/pkgs/tools/package-management/libdnf/default.nix @@ -0,0 +1,66 @@ +{ gcc9Stdenv, stdenv, fetchFromGitHub, cmake, gettext, pkg-config, gpgme, libsolv, openssl, check +, pcre, json_c, libmodulemd, libsmartcols, sqlite, librepo, libyaml, rpm }: + +gcc9Stdenv.mkDerivation rec { + pname = "libdnf"; + version = "0.55.2"; + + src = fetchFromGitHub { + owner = "rpm-software-management"; + repo = pname; + rev = version; + sha256 = "0hiydwfa90nsrqk5ffa6ks1g73wnsgjgq7z7gwq9jj76a7gpfbfq"; + }; + + patches = stdenv.lib.optionals stdenv.isDarwin [ ./darwin.patch ]; + + nativeBuildInputs = [ + cmake + gettext + pkg-config + ]; + + buildInputs = [ + check + gpgme + openssl + json_c + libsmartcols + libyaml + libmodulemd + ]; + + propagatedBuildInputs = [ + sqlite + libsolv + librepo + rpm + ]; + + # See https://github.com/NixOS/nixpkgs/issues/107430 + prePatch = '' + cp ${libsolv}/share/cmake/Modules/FindLibSolv.cmake cmake/modules/ + ''; + + # See https://github.com/NixOS/nixpkgs/issues/107428 + postPatch = '' + substituteInPlace CMakeLists.txt \ + --replace "enable_testing()" "" \ + --replace "add_subdirectory(tests)" "" + ''; + + cmakeFlags = [ + "-DWITH_GTKDOC=OFF" + "-DWITH_HTML=OFF" + "-DWITH_BINDINGS=OFF" + "-DWITH_ZCHUNK=OFF" + ]; + + meta = with stdenv.lib; { + description = "Package management library."; + homepage = "https://github.com/rpm-software-management/libdnf"; + license = licenses.gpl2Plus; + platforms = platforms.linux ++ platforms.darwin; + maintainers = with maintainers; [ rb2k ]; + }; +} |