nixpkgs/pkgs/tools/package-management/rpm/default.nix
Dan Peebles fbbf910e23 rpm: add lua support and a few propagatedBuildInputs
It turns out that a surprising number of common packages use lua
scripts in RPM files, and not having lua can lead to obscure failures.

The propagatedBuildInputs stuff makes the librpm stuff more useful,
since some of its headers didn't work without extra buildInputs before.
2016-04-29 02:29:02 +00:00

37 lines
1.3 KiB
Nix

{ stdenv, fetchurl, cpio, zlib, bzip2, file, elfutils, libarchive, nspr, nss, popt, db, xz, python, lua, pkgconfig }:
stdenv.mkDerivation rec {
name = "rpm-4.12.0";
src = fetchurl {
url = "http://rpm.org/releases/rpm-4.12.x/${name}.tar.bz2";
sha256 = "18hk47hc755nslvb7xkq4jb095z7va0nlcyxdpxayc4lmb8mq3bp";
};
buildInputs = [ cpio zlib bzip2 file libarchive nspr nss db xz python lua pkgconfig ];
# 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.
NIX_CFLAGS_COMPILE = "-I${nspr.dev}/include/nspr -I${nss.dev}/include/nss -I${elfutils}/include";
NIX_CFLAGS_LINK = "-L${elfutils}/lib";
postPatch = ''
# For Python3, the original expression evaluates as 'python3.4' but we want 'python3.4m' here
substituteInPlace configure --replace 'python''${PYTHON_VERSION}' ${python.executable}
'';
configureFlags = "--with-external-db --with-lua --enable-python";
meta = with stdenv.lib; {
homepage = http://www.rpm.org/;
license = licenses.gpl2;
description = "The RPM Package Manager";
maintainers = [ maintainers.mornfall ];
platforms = platforms.linux;
};
}