From 98f353c4050978390e22129d242fdf788649465e Mon Sep 17 00:00:00 2001 From: zseri Date: Mon, 15 Mar 2021 17:18:21 +0100 Subject: [PATCH] rpm2targz: init at 9.0.0.5g --- pkgs/tools/archivers/rpm2targz/default.nix | 55 ++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 57 insertions(+) create mode 100644 pkgs/tools/archivers/rpm2targz/default.nix diff --git a/pkgs/tools/archivers/rpm2targz/default.nix b/pkgs/tools/archivers/rpm2targz/default.nix new file mode 100644 index 000000000000..ac5b132d7ab4 --- /dev/null +++ b/pkgs/tools/archivers/rpm2targz/default.nix @@ -0,0 +1,55 @@ +{ bzip2 +, coreutils +, cpio +, fetchurl +, gnutar +, gzip +, lib +, stdenv +, xz +, zstd +}: + +let + shdeps = [ + bzip2 + coreutils + cpio + gnutar + gzip + xz + zstd + ]; + +in stdenv.mkDerivation rec { + pname = "rpm2targz"; + version = "2021.03.16"; + + # git repo: https://gitweb.gentoo.org/proj/rpm2targz.git/ + src = fetchurl { + url = "https://dev.gentoo.org/~vapier/dist/${pname}-${version}.tar.xz"; + hash = "sha256-rcV+o9V2wWKznqSW2rA8xgnpQ02kpK4te6mYvLRC5vQ="; + }; + + buildInputs = shdeps; + + postPatch = '' + substituteInPlace rpm2targz --replace "=\"rpmoffset\"" "=\"$out/bin/rpmoffset\"" + # rpm2targz relies on the executable name + # to guess what compressor it should use + # this is more reliable than wrapProgram + sed -i -e '2iexport PATH="${lib.makeBinPath shdeps}"' rpm2targz + ''; + + preBuild = '' + makeFlagsArray+=(prefix=$out) + ''; + + meta = with lib; { + description = "Convert a .rpm file to a .tar.gz archive"; + homepage = "http://slackware.com/config/packages.php"; + license = licenses.bsd1; + maintainers = with maintainers; [ zseri ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 668f8ed4ae11..fcb565eb7f4e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7727,6 +7727,8 @@ in gperf = gperf_3_0; }; + rpm2targz = callPackage ../tools/archivers/rpm2targz { }; + rpmextract = callPackage ../tools/archivers/rpmextract { }; rrdtool = callPackage ../tools/misc/rrdtool { };