3
0
Fork 0
forked from mirrors/nixpkgs

Merge pull request #4596 from abbradar/rpmextract

Add "rpmextract" script and use it
This commit is contained in:
Michael Raskin 2014-10-20 22:00:59 +04:00
commit 6b727e8d68
8 changed files with 43 additions and 10 deletions

View file

@ -1,6 +1,6 @@
source $stdenv/setup
rpm2cpio $src | cpio -idv
rpmextract $src
tar xfvj rhpl-*.tar.bz2
rm rhpl-*.tar.bz2
cd rhpl-*

View file

@ -1,4 +1,4 @@
{stdenv, fetchurl, rpm, cpio, python, wirelesstools, gettext}:
{stdenv, fetchurl, rpmextract, python, wirelesstools, gettext}:
stdenv.mkDerivation {
name = "rhpl-0.218";
@ -12,5 +12,5 @@ stdenv.mkDerivation {
builder = ./builder.sh;
buildInputs = [ rpm cpio python wirelesstools gettext ];
buildInputs = [ rpmextract python wirelesstools gettext ];
}

View file

@ -1,4 +1,4 @@
{ stdenv, makeWrapper, requireFile, patchelf, rpm, cpio, libaio }:
{ stdenv, makeWrapper, requireFile, patchelf, rpmextract, libaio }:
assert stdenv.system == "x86_64-linux";
@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
unpackCmd = ''
(mkdir -p "${name}" && cd "${name}" &&
${rpm}/bin/rpm2cpio "$curSrc" | ${cpio}/bin/cpio -id)
${rpmextract}/bin/rpmextract "$curSrc")
'';
buildPhase = let

View file

@ -0,0 +1,23 @@
{ stdenv, fetchurl, rpm, cpio, substituteAll }:
stdenv.mkDerivation rec {
name = "rpmextract";
builder = builtins.toFile "builder.sh" ''
source $stdenv/setup
install -Dm755 $script $out/bin/rpmextract
'';
script = substituteAll {
src = ./rpmextract.sh;
inherit rpm cpio;
};
meta = with stdenv.lib; {
description = "Script to extract RPM archives";
platforms = platforms.all;
license = licenses.gpl2;
maintainers = maintainers.abbradar;
};
}

View file

@ -0,0 +1,8 @@
#!/bin/sh
if [ "$1" = "" ]; then
echo "usage: rpmextract package_name" 1>&2
exit 1
fi
@rpm@/bin/rpm2cpio "$1" | @cpio@/bin/cpio -idv

View file

@ -1,4 +1,4 @@
{ stdenv, fetchurl, writeText, zlib, rpm, cpio, patchelf, which }:
{ stdenv, fetchurl, writeText, zlib, rpmextract, patchelf, which }:
assert stdenv.isLinux;
@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
mkdir -pv unpacked
cd unpacked
${rpm}/bin/rpm2cpio $src | ${cpio}/bin/cpio -imd
${rpmextract}/bin/rpmextract $src
cp -r -t $out/bin usr/bin/*
cp -r -t $out/share usr/share/*

View file

@ -1,4 +1,4 @@
{ stdenv, rpm, cpio, ncurses, patchelf, makeWrapper, requireFile, unzip }:
{ stdenv, rpmextract, ncurses, patchelf, makeWrapper, requireFile, unzip }:
assert stdenv.system == "x86_64-linux";
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
sha256 = "11jzvh25mlygflazd37gi05xv67im4rgq7sbs5nwgw3gxdh4xfjj";
};
buildInputs = [rpm cpio ncurses unzip makeWrapper];
buildInputs = [rpmextract ncurses unzip makeWrapper];
libPath =
stdenv.lib.makeLibraryPath
[ stdenv.gcc.gcc stdenv.gcc.libc ncurses ];
@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
mkdir -p $out/bin
cd $out
unzip ${src}
rpm2cpio linux/MegaCli-8.07.07-1.noarch.rpm | cpio -idmv
rpmextract linux/MegaCli-8.07.07-1.noarch.rpm
${patchelf}/bin/patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" --set-rpath ${libPath}:$out/opt/lsi/3rdpartylibs/x86_64:$out/opt/lsi/3rdpartylibs:${stdenv.gcc.gcc}/lib64:${stdenv.gcc.gcc}/lib opt/MegaRAID/MegaCli/MegaCli64
wrapProgram $out/opt/MegaRAID/MegaCli/MegaCli64 --set LD_LIBRARY_PATH $out/opt/lsi/3rdpartylibs/x86_64
ln -s $out/opt/MegaRAID/MegaCli/MegaCli64 $out/bin/MegaCli64

View file

@ -2172,6 +2172,8 @@ let
rpm = callPackage ../tools/package-management/rpm { };
rpmextract = callPackage ../tools/archivers/rpmextract { };
rrdtool = callPackage ../tools/misc/rrdtool { };
rtorrent = callPackage ../tools/networking/p2p/rtorrent { };