aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/tools/archivers/gnutar/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/tools/archivers/gnutar/default.nix')
-rw-r--r--nixpkgs/pkgs/tools/archivers/gnutar/default.nix69
1 files changed, 69 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/tools/archivers/gnutar/default.nix b/nixpkgs/pkgs/tools/archivers/gnutar/default.nix
new file mode 100644
index 00000000000..caf507670f4
--- /dev/null
+++ b/nixpkgs/pkgs/tools/archivers/gnutar/default.nix
@@ -0,0 +1,69 @@
+{ stdenv, fetchurl, autoreconfHook, acl }:
+
+stdenv.mkDerivation rec {
+ pname = "gnutar";
+ version = "1.32";
+
+ src = fetchurl {
+ url = "mirror://gnu/tar/tar-${version}.tar.xz";
+ sha256 = "1n7xy657ii0sa42zx6944v2m4v9qrh6sqgmw17l3nch3y43sxlyh";
+ };
+
+ # avoid retaining reference to CF during stdenv bootstrap
+ configureFlags = stdenv.lib.optionals stdenv.isDarwin [
+ "gt_cv_func_CFPreferencesCopyAppValue=no"
+ "gt_cv_func_CFLocaleCopyCurrent=no"
+ "gt_cv_func_CFLocaleCopyPreferredLanguages=no"
+ ];
+
+ # gnutar tries to call into gettext between `fork` and `exec`,
+ # which is not safe on darwin.
+ # see http://article.gmane.org/gmane.os.macosx.fink.devel/21882
+ postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
+ substituteInPlace src/system.c --replace '_(' 'N_('
+ '';
+
+ outputs = [ "out" "info" ];
+
+ buildInputs = [ ]
+ ++ stdenv.lib.optional stdenv.isLinux acl
+ ++ stdenv.lib.optional stdenv.isDarwin autoreconfHook;
+
+ # May have some issues with root compilation because the bootstrap tool
+ # cannot be used as a login shell for now.
+ FORCE_UNSAFE_CONFIGURE = stdenv.lib.optionalString (stdenv.hostPlatform.system == "armv7l-linux" || stdenv.isSunOS) "1";
+
+ preConfigure = if stdenv.isCygwin then ''
+ sed -i gnu/fpending.h -e 's,include <stdio_ext.h>,,'
+ '' else null;
+
+ doCheck = false; # fails
+ doInstallCheck = false; # fails
+
+ meta = {
+ homepage = https://www.gnu.org/software/tar/;
+ description = "GNU implementation of the `tar' archiver";
+
+ longDescription = ''
+ The Tar program provides the ability to create tar archives, as
+ well as various other kinds of manipulation. For example, you
+ can use Tar on previously created archives to extract files, to
+ store additional files, or to update or list files which were
+ already stored.
+
+ Initially, tar archives were used to store files conveniently on
+ magnetic tape. The name "Tar" comes from this use; it stands
+ for tape archiver. Despite the utility's name, Tar can direct
+ its output to available devices, files, or other programs (using
+ pipes), it can even access remote devices or files (as
+ archives).
+ '';
+
+ license = stdenv.lib.licenses.gpl3Plus;
+
+ maintainers = [ ];
+ platforms = stdenv.lib.platforms.all;
+
+ priority = 10;
+ };
+}