From 4dba792a595bdff9efed1d67b9564d3f9fc196c3 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Mon, 20 Oct 2014 03:16:24 +0400 Subject: [PATCH] rpmextract: add package --- pkgs/tools/archivers/rpmextract/default.nix | 23 +++++++++++++++++++ pkgs/tools/archivers/rpmextract/rpmextract.sh | 8 +++++++ pkgs/top-level/all-packages.nix | 2 ++ 3 files changed, 33 insertions(+) create mode 100644 pkgs/tools/archivers/rpmextract/default.nix create mode 100644 pkgs/tools/archivers/rpmextract/rpmextract.sh diff --git a/pkgs/tools/archivers/rpmextract/default.nix b/pkgs/tools/archivers/rpmextract/default.nix new file mode 100644 index 00000000000..bee5a71333a --- /dev/null +++ b/pkgs/tools/archivers/rpmextract/default.nix @@ -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; + }; +} diff --git a/pkgs/tools/archivers/rpmextract/rpmextract.sh b/pkgs/tools/archivers/rpmextract/rpmextract.sh new file mode 100644 index 00000000000..b910a992606 --- /dev/null +++ b/pkgs/tools/archivers/rpmextract/rpmextract.sh @@ -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 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bc70e291bde..3ce81635e8b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2162,6 +2162,8 @@ let rpm = callPackage ../tools/package-management/rpm { }; + rpmextract = callPackage ../tools/archivers/rpmextract { }; + rrdtool = callPackage ../tools/misc/rrdtool { }; rtorrent = callPackage ../tools/networking/p2p/rtorrent { };