diff options
author | Robin Gloster <mail@glob.in> | 2016-05-02 22:58:02 +0000 |
---|---|---|
committer | Robin Gloster <mail@glob.in> | 2016-05-02 22:58:02 +0000 |
commit | c92bca56f8ea5623cf01952621455db308d0f330 (patch) | |
tree | f940e6e4fabd8e58b91fe885f9541205258023b2 /pkgs/tools/package-management | |
parent | 0fdde5efd08c036fe9d73b4e65f2ba9797053d0f (diff) | |
parent | 94520a25adc6b6bee799ec9dab344cfdad3f7180 (diff) | |
download | nixlib-c92bca56f8ea5623cf01952621455db308d0f330.tar nixlib-c92bca56f8ea5623cf01952621455db308d0f330.tar.gz nixlib-c92bca56f8ea5623cf01952621455db308d0f330.tar.bz2 nixlib-c92bca56f8ea5623cf01952621455db308d0f330.tar.lz nixlib-c92bca56f8ea5623cf01952621455db308d0f330.tar.xz nixlib-c92bca56f8ea5623cf01952621455db308d0f330.tar.zst nixlib-c92bca56f8ea5623cf01952621455db308d0f330.zip |
Merge remote-tracking branch 'upstream/master' into hardened-stdenv
Diffstat (limited to 'pkgs/tools/package-management')
-rw-r--r-- | pkgs/tools/package-management/createrepo_c/default.nix | 35 | ||||
-rw-r--r-- | pkgs/tools/package-management/libhif/default.nix | 36 | ||||
-rw-r--r-- | pkgs/tools/package-management/librepo/default.nix | 31 | ||||
-rw-r--r-- | pkgs/tools/package-management/nix/default.nix | 2 | ||||
-rw-r--r-- | pkgs/tools/package-management/nox/default.nix | 2 | ||||
-rw-r--r-- | pkgs/tools/package-management/packagekit/default.nix | 5 | ||||
-rw-r--r-- | pkgs/tools/package-management/rpm/default.nix | 13 |
7 files changed, 115 insertions, 9 deletions
diff --git a/pkgs/tools/package-management/createrepo_c/default.nix b/pkgs/tools/package-management/createrepo_c/default.nix new file mode 100644 index 000000000000..eed1ed1e5260 --- /dev/null +++ b/pkgs/tools/package-management/createrepo_c/default.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchFromGitHub, cmake, pkgconfig, bzip2, expat, glib, curl, libxml2, python, rpm, openssl, sqlite, file, xz, pcre, bashCompletion }: + +stdenv.mkDerivation rec { + rev = "0.10.0"; + name = "createrepo_c-${rev}"; + + src = fetchFromGitHub { + inherit rev; + owner = "rpm-software-management"; + repo = "createrepo_c"; + sha256 = "1sqzdkj9vigkvxsjlih1i0gylv53na2yic5if9w1s2sgxhqqz5zv"; + }; + + # FIXME: ugh, there has to be a better way to do this... + prePatch = '' + substituteInPlace CMakeLists.txt \ + --replace 'execute_process(COMMAND ''${PKG_CONFIG_EXECUTABLE} --variable=completionsdir bash-completion OUTPUT_VARIABLE BASHCOMP_DIR OUTPUT_STRIP_TRAILING_WHITESPACE)' \ + "set (BASHCOMP_DIR "$out/share/bash-completion/completions")" + + substituteInPlace src/python/CMakeLists.txt \ + --replace 'EXECUTE_PROCESS(COMMAND ''${PYTHON_EXECUTABLE} -c "from sys import stdout; from distutils import sysconfig; stdout.write(sysconfig.get_python_lib(True))" OUTPUT_VARIABLE PYTHON_INSTALL_DIR)' \ + "set (PYTHON_INSTALL_DIR "$out/${python.sitePackages}")" + ''; + + buildInputs = [ cmake pkgconfig bzip2 expat glib curl libxml2 python rpm openssl sqlite file xz pcre bashCompletion ]; + + meta = with stdenv.lib; { + description = "C implementation of createrepo"; + homepage = "http://rpm-software-management.github.io/createrepo_c/"; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = with maintainers; [ copumpkin ]; + }; +} + diff --git a/pkgs/tools/package-management/libhif/default.nix b/pkgs/tools/package-management/libhif/default.nix new file mode 100644 index 000000000000..7736c67007ae --- /dev/null +++ b/pkgs/tools/package-management/libhif/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchFromGitHub, cmake, pkgconfig, autoconf, automake, libtool, expat, python, sphinx, gobjectIntrospection, librepo, check, rpm, libsolv, pcre, curl, gtk_doc, zlib, xz, elfutils }: + +stdenv.mkDerivation rec { + rev = "87e4cb247f5982fd48636691a955cc566d3110a3"; + name = "libhif-${stdenv.lib.strings.substring 0 7 rev}"; + + src = fetchFromGitHub { + inherit rev; + owner = "rpm-software-management"; + repo = "libhif"; + sha256 = "1g8hrqjawzwcx1gjcnv9sxg5i8l13dab3rr3i641k5vi76vv8miq"; + }; + + postPatch = '' + for file in python/hawkey/CMakeLists.txt python/hawkey/tests/module/CMakeLists.txt; do + substituteInPlace $file --replace ' ''${PYTHON_INSTALL_DIR}' " $out/${python.sitePackages}" + done + + # Until https://github.com/rpm-software-management/libhif/issues/43 is implemented, let's not force users to have this path + substituteInPlace libhif/hif-keyring.c \ + --replace '"/etc/pki/rpm-gpg"' 'getenv("LIBHIF_RPM_GPG_PATH_OVERRIDE") ? getenv("LIBHIF_RPM_GPG_PATH_OVERRIDE") : "/etc/pki/rpm-gpg"' + ''; + + buildInputs = [ cmake pkgconfig pcre expat python sphinx gobjectIntrospection gtk_doc librepo check rpm curl ]; + + # ibhif/hif-packagedelta.h includes solv/pool.h + propagatedBuildInputs = [ libsolv ]; + + meta = with stdenv.lib; { + description = "A library that provides a high level package-manager. It uses librepo and hawkey under the hood."; + license = licenses.lgpl2Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ copumpkin ]; + }; +} + diff --git a/pkgs/tools/package-management/librepo/default.nix b/pkgs/tools/package-management/librepo/default.nix new file mode 100644 index 000000000000..ceef483c8cce --- /dev/null +++ b/pkgs/tools/package-management/librepo/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchFromGitHub, cmake, python, pkgconfig, expat, glib, pcre, openssl, curl, check, attr, gpgme }: + +stdenv.mkDerivation rec { + version = "1.7.18"; + name = "librepo-${version}"; + + src = fetchFromGitHub { + owner = "rpm-software-management"; + repo = "librepo"; + rev = name; + sha256 = "05iqx2kvfqsskb2r3n5p8f91i4gd4pbw6nh30pn532mgab64cvxk"; + }; + + patchPhase = '' + substituteInPlace librepo/python/python2/CMakeLists.txt \ + --replace ' ''${PYTHON_INSTALL_DIR}' " $out/lib/python2.7/site-packages" + ''; + + buildInputs = [ cmake python pkgconfig expat glib pcre openssl curl check attr gpgme ]; + + # librepo/fastestmirror.h includes curl/curl.h, and pkg-config specfile refers to others in here + propagatedBuildInputs = [ curl gpgme expat ]; + + meta = with stdenv.lib; { + description = "Library providing C and Python (libcURL like) API for downloading linux repository metadata and packages"; + license = licenses.lgpl2Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ copumpkin ]; + }; +} + diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index 16078906bc2b..bf3f8aed712b 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -9,7 +9,7 @@ let common = { name, src }: stdenv.mkDerivation rec { inherit name src; - outputs = [ "out" "man" "doc" ]; + outputs = [ "dev" "out" "man" "doc" ]; nativeBuildInputs = [ perl pkgconfig ]; diff --git a/pkgs/tools/package-management/nox/default.nix b/pkgs/tools/package-management/nox/default.nix index 89e72307ead1..895704ec6464 100644 --- a/pkgs/tools/package-management/nox/default.nix +++ b/pkgs/tools/package-management/nox/default.nix @@ -6,7 +6,7 @@ pythonPackages.buildPythonApplication rec { namePrefix = ""; src = fetchurl { - url = "https://pypi.python.org/packages/source/n/nix-nox/nix-nox-${version}.tar.gz"; + url = "mirror://pypi/n/nix-nox/nix-nox-${version}.tar.gz"; sha256 = "1wpxh5fhj8nx4yx4cvmc087cnf4iqwxf7zd7rdh2ln3pgxrjfral"; }; diff --git a/pkgs/tools/package-management/packagekit/default.nix b/pkgs/tools/package-management/packagekit/default.nix index ae8e1b252c4c..bc57dd7c80f3 100644 --- a/pkgs/tools/package-management/packagekit/default.nix +++ b/pkgs/tools/package-management/packagekit/default.nix @@ -2,10 +2,10 @@ stdenv.mkDerivation rec { name = "packagekit-${version}"; - version = "1.0.8"; + version = "1.1.0"; src = fetchurl { - sha256 = "1vaxn4kwdwx6p03n88k4pnbd2l6lb0cbxpcs88kjack1jml17c3l"; + sha256 = "0sn38b80c6jx9d9r329ji9bg4m4gj6gnl04rv8fkmincj61qf7ag"; url = "http://www.freedesktop.org/software/PackageKit/releases/PackageKit-${version}.tar.xz"; }; @@ -20,7 +20,6 @@ stdenv.mkDerivation rec { "--disable-connman" "--disable-systemd" "--disable-bash-completion" - "--disable-browser-plugin" "--disable-gstreamer-plugin" "--disable-gtk-module" "--disable-command-not-found" diff --git a/pkgs/tools/package-management/rpm/default.nix b/pkgs/tools/package-management/rpm/default.nix index 24346fb0eb70..d9cf24f6e519 100644 --- a/pkgs/tools/package-management/rpm/default.nix +++ b/pkgs/tools/package-management/rpm/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, cpio, zlib, bzip2, file, elfutils, libarchive, nspr, nss, popt, db, xz, python }: +{ stdenv, fetchurl, cpio, zlib, bzip2, file, elfutils, libarchive, nspr, nss, popt, db, xz, python, lua, pkgconfig, autoreconfHook }: stdenv.mkDerivation rec { name = "rpm-4.12.0"; @@ -8,7 +8,10 @@ stdenv.mkDerivation rec { sha256 = "18hk47hc755nslvb7xkq4jb095z7va0nlcyxdpxayc4lmb8mq3bp"; }; - buildInputs = [ cpio zlib bzip2 file libarchive nspr nss popt db xz python ]; + buildInputs = [ cpio zlib bzip2 file libarchive nspr nss db xz python lua pkgconfig autoreconfHook ]; + + # rpm/rpmlib.h includes popt.h, and then the pkg-config file mentions these as linkage requirements + propagatedBuildInputs = [ popt nss db bzip2 libarchive ]; # Note: we don't add elfutils to buildInputs, since it provides a # bad `ld' and other stuff. @@ -19,15 +22,17 @@ stdenv.mkDerivation rec { postPatch = '' # For Python3, the original expression evaluates as 'python3.4' but we want 'python3.4m' here substituteInPlace configure --replace 'python''${PYTHON_VERSION}' ${python.executable} + + substituteInPlace Makefile.am --replace '@$(MKDIR_P) $(DESTDIR)$(localstatedir)/tmp' "" ''; - configureFlags = "--with-external-db --without-lua --enable-python"; + configureFlags = "--with-external-db --with-lua --enable-python --localstatedir=/var --sharedstatedir=/com"; meta = with stdenv.lib; { homepage = http://www.rpm.org/; license = licenses.gpl2; description = "The RPM Package Manager"; - maintainers = [ maintainers.mornfall ]; + maintainers = with maintainers; [ mornfall copumpkin ]; platforms = platforms.linux; }; } |