fbbf910e23
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.
37 lines
1.3 KiB
Nix
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;
|
|
};
|
|
}
|