1{ stdenv, fetchurl, gettext, coreutils }:
2
3stdenv.mkDerivation rec {
4 name = "sharutils-4.11.1";
5
6 src = fetchurl {
7 url = "mirror://gnu/sharutils/${name}.tar.bz2";
8 sha256 = "1mallg1gprimlggdisfzdmh1xi676jsfdlfyvanlcw72ny8fsj3g";
9 };
10
11 preConfigure = ''
12 # Fix for building on Glibc 2.16. Won't be needed once the
13 # gnulib in sharutils is updated.
14 sed -i ${stdenv.lib.optionalString ((stdenv.isFreeBSD || stdenv.isOpenBSD) && stdenv.cc.nativeTools) "''"} '/gets is a security hole/d' lib/stdio.in.h
15 '';
16
17 # GNU Gettext is needed on non-GNU platforms.
18 buildInputs = [ gettext coreutils ];
19
20 doCheck = true;
21
22 crossAttrs = {
23 patches = [ ./sharutils-4.11.1-cross-binary-mode-popen.patch ];
24 };
25
26 meta = {
27 description = "Tools for remote synchronization and `shell archives'";
28 longDescription =
29 '' GNU shar makes so-called shell archives out of many files, preparing
30 them for transmission by electronic mail services. A shell archive
31 is a collection of files that can be unpacked by /bin/sh. A wide
32 range of features provide extensive flexibility in manufacturing
33 shars and in specifying shar smartness. For example, shar may
34 compress files, uuencode binary files, split long files and
35 construct multi-part mailings, ensure correct unsharing order, and
36 provide simplistic checksums.
37
38 GNU unshar scans a set of mail messages looking for the start of
39 shell archives. It will automatically strip off the mail headers
40 and other introductory text. The archive bodies are then unpacked
41 by a copy of the shell. unshar may also process files containing
42 concatenated shell archives.
43 '';
44 homepage = http://www.gnu.org/software/sharutils/;
45 license = stdenv.lib.licenses.gpl3Plus;
46 maintainers = [ ];
47 platforms = stdenv.lib.platforms.all;
48 };
49}