diff options
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Formula/rpm.rb | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/Library/Formula/rpm.rb b/Library/Formula/rpm.rb new file mode 100644 index 000000000..e98965f26 --- /dev/null +++ b/Library/Formula/rpm.rb @@ -0,0 +1,67 @@ +require 'formula' + +class RpmDownloadStrategy < CurlDownloadStrategy + attr_reader :tarball_name + def initialize name, package + super + package_name = @spec == :name ? @ref : name + @tarball_name="#{package_name}-#{package.version}.tar.gz" + end + def stage + safe_system "rpm2cpio.pl <#{@tarball_path} | cpio -vi #{@tarball_name}" + safe_system "/usr/bin/tar -xzf #{@tarball_name} && rm #{@tarball_name}" + chdir + end + + def ext + ".src.rpm" + end +end + +class Rpm < Formula + homepage 'http://www.rpm5.org/' + url 'http://rpm5.org/files/rpm/rpm-5.4/rpm-5.4.10-0.20120706.src.rpm', + :using => RpmDownloadStrategy, :name => 'rpm' + version '5.4.10' + sha1 'ce43b5871c4f884bea679f6c37d5cb9df7f2e520' + + depends_on 'db' + depends_on 'libmagic' + depends_on 'popt' + depends_on 'beecrypt' + depends_on 'libtasn1' + depends_on 'neon' + depends_on 'gettext' + depends_on 'xz' + depends_on 'ossp-uuid' + depends_on 'pcre' + depends_on 'rpm2cpio' => :build + depends_on 'libtool' => :build + + # nested functions are not std C + def patches + 'http://rpm5.org/cvs/patchset?cn=16840' + end + + def install + args = %W[ + --prefix=#{prefix} + --with-path-cfg=#{etc}/rpm + --disable-openmp + --disable-nls + --disable-dependency-tracking + --with-libtasn1 + --with-neon + --with-uuid + --with-pcre + --with-lua + --with-syck + --without-apidocs + ] + + system 'glibtoolize -if' # needs updated ltmain.sh + system "./configure", *args + system "make" + system "make install" + end +end |
