# $Id: Portfile 92837 2012-05-09 00:51:48Z ryandesign@macports.org $

PortSystem 1.0

name			rpm50
version			5.0.3
revision		3
platforms		darwin freebsd linux
categories		sysutils archivers
maintainers		mac.com:n3npq afb
description		The RPM package management system.
long_description	The RPM Package Manager (RPM) is a powerful command line driven \
			package management system capable of installing, uninstalling, \
			verifying, querying, and updating software packages. Each software \
			package consists of an archive of files along with information about \
			the package like its version, a description, etc.

homepage		http://rpm5.org
master_sites		${homepage}/files/rpm/rpm-5.0/
distname		rpm-${version}
checksums		md5 b3df4e54e84cf3344ce6b76fa2a8d5bf \
			sha1 d3461710de17a8f7dc3e49371d7edf620b10c27e \
			rmd160 d26cdfef5a3bf18442e1825d810afb32bcfa2161
worksrcdir		rpm-${version}

replaced_by		rpm52

depends_build		port:expat port:neon \
			port:python25 port:perl5.8 \
			port:readline port:beecrypt \
			port:libiconv port:gettext

depends_lib		lib:libhistory.5:readline port:gettext \
			port:popt port:sqlite3 port:xar port:liblzma port:pcre

depends_run		port:openssl \
			bin:gzip:gzip \
                        bin:bzip2:bzip2 \
                        bin:unzip:unzip

patchfiles		patch-macros.in patch-xz-support patch-configure.ac
post-patch {
	reinplace "s:AC_DEFUN:m4_define:g" ${worksrcpath}/configure.ac
	reinplace "s:pkgincHEADERS_INSTALL:INSTALL_HEADER:" ${worksrcpath}/rpmdb/Makefile.am
	reinplace "s:pkglibPROGRAMS_INSTALL:INSTALL_PROGRAM:g" ${worksrcpath}/tools/Makefile.am
}

build.type		gnu

depends_build-append	port:autoconf port:automake port:libtool port:gettext
pre-configure {
	system "cd ${worksrcpath}; ./autogen.sh"
}

configure.args		--disable-nls --without-javaglue --without-included-gettext \
			--with-libintl-prefix=${prefix} --with-libiconv-prefix=${prefix} \
			--mandir=${prefix}/share/man --infodir=${prefix}/share/info \
			--with-python=2.5 --with-perl --with-sqlite --with-dbapi=sqlite \
			--with-xar=external --with-xz=external --with-pcre=external \
			--without-apidocs --sysconfdir=${prefix}/etc --with-path-cfg=${prefix}/etc/rpm
configure.env		__PYTHON=${prefix}/bin/python2.5 __PERL=${prefix}/bin/perl5.8


configure.args-append	--with-lua=internal --with-db=internal
configure.cppflags-append	-I${prefix}/include/xar

post-destroot {
	xinstall -d -m 755 ${destroot}${prefix}/etc/rpm
	system "${worksrcpath}/rpm --macros=${worksrcpath}/macros --eval='%{_target_platform}' > ${destroot}${prefix}/etc/rpm/platform"
	system "${worksrcpath}/rpm --macros=${worksrcpath}/macros --eval='noarch-%{_target_vendor}-%{_target_os}%{?_gnu}' >> ${destroot}${prefix}/etc/rpm/platform"

	delete [glob ${destroot}${prefix}/lib/perl5/*/*/*/auto/RPM/.packlist]
	delete [glob ${destroot}${prefix}/lib/perl5/*/*/perllocal.pod]

	# where the RPM database lives
	destroot.keepdirs ${destroot}${prefix}/etc/rpm\
			  ${destroot}${prefix}/var/lib/rpm\
			  ${destroot}${prefix}/var/spool/repackage\
			  ${destroot}${prefix}/src/rpm/BUILD\
			  ${destroot}${prefix}/src/rpm/RPMS\
			  ${destroot}${prefix}/src/rpm/SOURCES\
			  ${destroot}${prefix}/src/rpm/SPECS\
			  ${destroot}${prefix}/src/rpm/SRPMS
}

platform darwin {
	configure.args-append --disable-optimized --disable-aio \
			      --with-glob --enable-broken-chown \
			      --disable-rpath

	post-destroot {
		# Mac OS X specific changes
	}
}

platform freebsd {

	post-destroot {
		# FreeBSD specific changes
		reinplace "s;/usr/bin/tar;/usr/local/bin/gtar;" ${destroot}${prefix}/lib/rpm/macros
		reinplace "s;/usr/bin/make;/usr/local/bin/gmake;" ${destroot}${prefix}/lib/rpm/macros
	}
}

platform linux {

	post-destroot {
		# Linux specific changes
	}
}

variant docs description "API documentation" {
	depends_run-append bin:doxygen:doxygen
	configure.args-delete --without-apidocs
	configure.args-append --with-apidocs
}
