* Revived RPM. Damn, RPM is nasty to build.

svn path=/nixpkgs/trunk/; revision=8407
This commit is contained in:
Eelco Dolstra 2007-03-21 19:25:58 +00:00
parent 778d516e41
commit 505c169238
13 changed files with 76 additions and 108 deletions

View File

@ -1,16 +0,0 @@
{stdenv, fetchurl, python, tcl, readline, file, cpio, beecrypt, unzip, neon, gnupg, libxml2, perl}:
stdenv.mkDerivation {
name = "rpm-4.4.5";
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/rpm-4.4.5.tar.gz;
#md5 = "e24ce468082479fe850c9d6563f56db5";
md5 = "3f277388b0486c6e8ce9b07fdf53993e";
};
buildInputs = [python tcl readline file cpio beecrypt unzip neon gnupg libxml2 perl];
#configureFlags = "--without-python --with-selinux=no --without-lua";
configureFlags = "--without-python --with-selinux=no";
patches = [./rpm-4.4.5-lua.patch ./rpm-4.4.5-beecrypt-include.patch ./rpm-4.4.5-neon-include.patch ./rpm-4.4.5-libxml2-include.patch];
inherit beecrypt neon libxml2;
}

View File

@ -1,12 +0,0 @@
diff -ruN rpm-4.4.2/Makefile.in rpm-4.4.2.new/Makefile.in
--- rpm-4.4.2/Makefile.in 2005-07-17 16:58:58.000000000 +0200
+++ rpm-4.4.2.new/Makefile.in 2005-12-19 16:23:55.000000000 +0100
@@ -404,7 +404,7 @@
po/*.in po/*.po po/rpm.pot \
rpm.magic rpmpopt-$(VERSION) rpmqv.c rpm.c
-SUBDIRS = intl po misc @WITH_ZLIB_SUBDIR@ @WITH_ELFUTILS_SUBDIR@ @WITH_MAGIC_SUBDIR@ @WITH_DB_SUBDIR@ @WITH_SQLITE3_SUBDIR@ @WITH_POPT_SUBDIR@ @WITH_BEECRYPT_SUBDIR@ @WITH_NEON_SUBDIR@ lua rpmio rpmdb lib build @WITH_PYTHON_SUBDIR@ tools scripts tests doc .
+SUBDIRS = intl po misc @WITH_ZLIB_SUBDIR@ @WITH_ELFUTILS_SUBDIR@ @WITH_MAGIC_SUBDIR@ @WITH_DB_SUBDIR@ @WITH_SQLITE3_SUBDIR@ @WITH_POPT_SUBDIR@ @WITH_BEECRYPT_SUBDIR@ @WITH_NEON_SUBDIR@ @WITH_LUA_SUBDIR@ rpmio rpmdb lib build @WITH_PYTHON_SUBDIR@ tools scripts tests doc .
INCLUDES = \
-I$(top_srcdir)/build \
-I$(top_srcdir)/lib \

View File

@ -1,12 +0,0 @@
diff -ruN rpm-4.4.5/configure rpm-4.4.5.new/configure
--- rpm-4.4.5/configure 2005-12-13 15:19:03.000000000 +0100
+++ rpm-4.4.5.new/configure 2005-12-19 18:27:35.000000000 +0100
@@ -25944,7 +25944,7 @@
fi
- WITH_BEECRYPT_INCLUDE="-I${includedir}/beecrypt"
+ WITH_BEECRYPT_INCLUDE="-I${beecrypt}/include/beecrypt"
WITH_BEECRYPT_LIB="-lbeecrypt"
fi

View File

@ -1,29 +0,0 @@
diff -ruN rpm-4.4.5/tools/Makefile.in rpm-4.4.5.new/tools/Makefile.in
--- rpm-4.4.5/tools/Makefile.in 2005-12-13 15:19:00.000000000 +0100
+++ rpm-4.4.5.new/tools/Makefile.in 2005-12-19 23:41:44.000000000 +0100
@@ -424,11 +424,11 @@
rpmsort_SOURCES = rpmsort.c
#rpmsort_LDFLAGS = (staticLDFLAGS)
rpmtool_SOURCES = rpmtool.c rpmxp.c
-rpmtool_CFLAGS = -I$(includedir)/libxml2
+rpmtool_CFLAGS = -I$(libxml2)/include/libxml2
#rpmtool_LDFLAGS = $(staticLDFLAGS)
rpmtool_LDADD = $(LDADD) -lxml2
rpmxml_SOURCES = rpmxml.c # rpmxp.c
-rpmxml_CFLAGS = -I$(includedir)/libxml2
+rpmxml_CFLAGS = -I$(libxml2)/include/libxml2
#rpmxml_LDFLAGS = $(staticLDFLAGS)
rpmxml_LDADD = $(LDADD) -lxml2
all: all-am
diff -ruN rpm-4.4.5/wnh/Makefile.in rpm-4.4.5.new/wnh/Makefile.in
--- rpm-4.4.5/wnh/Makefile.in 2005-12-13 15:19:00.000000000 +0100
+++ rpm-4.4.5.new/wnh/Makefile.in 2005-12-19 23:42:13.000000000 +0100
@@ -349,7 +349,7 @@
-I$(top_srcdir)/rpmio \
@WITH_BEECRYPT_INCLUDE@ \
@WITH_POPT_INCLUDE@ \
- -I$(includedir)/libxml2 \
+ -I$(libxml2)/include/libxml2 \
-I$(top_srcdir)/misc \
@INCPATH@

View File

@ -1,12 +0,0 @@
diff -ruN rpm-4.4.5/Makefile.in rpm-4.4.5.new/Makefile.in
--- rpm-4.4.5/Makefile.in 2005-12-13 15:19:01.000000000 +0100
+++ rpm-4.4.5.new/Makefile.in 2005-12-19 17:54:34.000000000 +0100
@@ -411,7 +411,7 @@
po/*.in po/*.po po/rpm.pot \
rpm.magic rpmpopt-$(VERSION) rpmqv.c rpm.c
-SUBDIRS = intl po misc @WITH_ZLIB_SUBDIR@ @WITH_ELFUTILS_SUBDIR@ @WITH_MAGIC_SUBDIR@ @WITH_DB_SUBDIR@ @WITH_SQLITE3_SUBDIR@ @WITH_POPT_SUBDIR@ @WITH_BEECRYPT_SUBDIR@ @WITH_NEON_SUBDIR@ lua rpmio rpmdb lib build @WITH_PYTHON_SUBDIR@ @WITH_PERL_SUBDIR@ tools scripts tests doc .
+SUBDIRS = intl po misc @WITH_ZLIB_SUBDIR@ @WITH_ELFUTILS_SUBDIR@ @WITH_MAGIC_SUBDIR@ @WITH_DB_SUBDIR@ @WITH_SQLITE3_SUBDIR@ @WITH_POPT_SUBDIR@ @WITH_BEECRYPT_SUBDIR@ @WITH_NEON_SUBDIR@ @WITH_LUA_SUBDIR@ rpmio rpmdb lib build @WITH_PYTHON_SUBDIR@ @WITH_PERL_SUBDIR@ tools scripts tests doc .
INCLUDES = \
-I$(top_srcdir)/build \
-I$(top_srcdir)/lib \

View File

@ -1,14 +0,0 @@
diff -ruN rpm-4.4.5/configure rpm-4.4.5.new/configure
--- rpm-4.4.5/configure 2005-12-13 15:19:03.000000000 +0100
+++ rpm-4.4.5.new/configure 2005-12-20 00:40:06.000000000 +0100
@@ -26333,8 +26333,8 @@
fi
- WITH_NEON_INCLUDE="-I${includedir}/neon"
- WITH_NEON_LIB="-lneon"
+ WITH_NEON_INCLUDE="-I${neon}/include/neon"
+ WITH_NEON_LIB="-L${neon}/lib -lneon"
fi

View File

@ -9,6 +9,6 @@ stdenv.mkDerivation ({
};
configureFlags = [
(if cxxSupport then "--enable-cxx" else "--disable-cxx")
(if cxxSupport then "--enable-compat185" else "--disable-compat185")
(if compat185 then "--enable-compat185" else "--disable-compat185")
];
} // (if stdenv.system == "i686-cygwin" then {patches = [./cygwin-4.4.patch];} else {}))

View File

@ -9,7 +9,7 @@ stdenv.mkDerivation {
};
configureFlags = [
(if cxxSupport then "--enable-cxx" else "--disable-cxx")
(if cxxSupport then "--enable-compat185" else "--disable-compat185")
(if compat185 then "--enable-compat185" else "--disable-compat185")
];
patches = [./cygwin-4.5.patch];
}

View File

@ -1,11 +1,10 @@
{stdenv, fetchurl}:
stdenv.mkDerivation {
name = "sqlite-3.3.6";
src = fetchurl {
url = "http://www.sqlite.org/sqlite-3.3.6.tar.gz";
md5 = "a2cb1fafad5c2587e513dcbd18ace097";
};
configureFlags = "--enable-threadsafe --disable-tcl";
inherit stdenv;
name = "sqlite-3.3.13";
src = fetchurl {
url = http://www.sqlite.org/sqlite-3.3.13.tar.gz;
sha256 = "0p32asxkb38g6mbb2p7hdk09bnrrqn67dgnvgqx7pvwi5vcl80ck";
};
configureFlags = "--enable-threadsafe --disable-tcl";
}

View File

@ -0,0 +1,9 @@
{stdenv, fetchurl}:
stdenv.mkDerivation {
name = "elfutils-0.125";
src = fetchurl {
url = http://ftp.cs.pu.edu.tw/Linux/sourceware/systemtap/elfutils/elfutils-0.125.tar.gz;
sha256 = "191n7ss9hbhgm5q6ak2bdiwmid8ls1ivn30hl18a5d6bqal50529";
};
}

View File

@ -0,0 +1,36 @@
{stdenv, fetchurl, cpio, zlib, bzip2, file, sqlite, beecrypt, neon, elfutils}:
stdenv.mkDerivation {
name = "rpm-4.4.5";
src = fetchurl {
url = http://wraptastic.org/pub/rpm-4.4.x/rpm-4.4.8.tar.gz;
sha256 = "02ddf076bwcpxzxq9i0ii1fzw2r69fk0gjkk2yrzgzsmb01na230";
};
# Note: we don't add elfutils to buildInputs, since it provides a
# bad `ld' and other stuff.
buildInputs = [cpio zlib bzip2 file sqlite beecrypt neon];
NIX_CFLAGS_COMPILE = "-I${beecrypt}/include/beecrypt -I${neon}/include/neon -I${elfutils}/include";
NIX_CFLAGS_LINK = "-L${elfutils}/lib";
preConfigure = "
rm -rf zlib file sqlite
# Grrr, rpcgen can't find cpp. (NIXPKGS-48)
mkdir rpcgen
echo \"#! $shell\" > rpcgen/rpcgen
echo \"exec $(type -tp rpcgen) -Y $(dirname $(type -tp cpp)) \\\"\\$@\\\"\" >> rpcgen/rpcgen
chmod +x rpcgen/rpcgen
export PATH=$(pwd)/rpcgen:$PATH
substituteInPlace ./installplatform --replace /usr/bin/env $(type -tp env)
substituteInPlace Makefile.in --replace /var/tmp $(pwd)/dummy
";
configureFlags = "--without-selinux --without-lua --without-python --without-perl";
patches = [./no-lua.patch];
}

View File

@ -0,0 +1,15 @@
diff -rc rpm-4.4.8-orig/lib/poptALL.c rpm-4.4.8/lib/poptALL.c
*** rpm-4.4.8-orig/lib/poptALL.c 2007-03-21 19:46:31.000000000 +0100
--- rpm-4.4.8/lib/poptALL.c 2007-03-21 19:44:45.000000000 +0100
***************
*** 483,489 ****
--- 483,491 ----
rpmFreeMacros(NULL);
/*@i@*/ rpmFreeMacros(rpmCLIMacroContext);
rpmFreeRpmrc();
+ #ifdef WITH_LUA
(void) rpmluaFree(NULL);
+ #endif
rpmFreeFilesystems();
/*@i@*/ urlFreeCache();
rpmlogClose();

View File

@ -480,6 +480,10 @@ rec {
zlibSupport = !stdenv ? isDietLibC;
};
rpm = import ../tools/package-management/rpm {
inherit fetchurl stdenv cpio zlib bzip2 file sqlite beecrypt neon elfutils;
};
sablotron = import ../tools/text/xml/sablotron {
inherit fetchurl stdenv expat;
};
@ -1035,6 +1039,10 @@ rec {
inherit fetchurl stdenv;
};
elfutils = import ../development/tools/misc/elfutils {
inherit fetchurl stdenv;
};
flex = flex254a;
flex2533 = import ../development/tools/parsing/flex/flex-2.5.33.nix {
@ -2595,10 +2603,6 @@ rec {
inherit fetchurl stdenv;
};
#rpm = import ../applications/package-management/rpm {
# inherit fetchurl stdenv python tcl readline file cpio beecrypt unzip neon gnupg libxml2 perl;
#};
cvs = import ../applications/version-management/cvs {
inherit fetchurl stdenv vim;
};