fuseiso: cleanups, allow building from checkout and add basic docs

This commit is contained in:
Peter Hoeg 2020-05-03 13:53:44 +08:00
parent fce7562cf4
commit 1087a40380

View File

@ -1,40 +1,55 @@
{ stdenv, fetchurl, fetchpatch, pkgconfig, fuse, zlib, glib }: { stdenv, fetchurl, fetchpatch, autoreconfHook, pkgconfig, fuse, glib, zlib }:
stdenv.mkDerivation { stdenv.mkDerivation rec {
name = "fuseiso-20070708"; pname = "fuseiso";
version = "20070708";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/project/fuseiso/fuseiso/20070708/fuseiso-20070708.tar.bz2"; url = "mirror://sourceforge/project/fuseiso/fuseiso/${version}/fuseiso-${version}.tar.bz2";
sha256 = "127xql52dcdhmh7s5m9xc6q39jdlj3zhbjar1j821kb6gl3jw94b"; sha256 = "127xql52dcdhmh7s5m9xc6q39jdlj3zhbjar1j821kb6gl3jw94b";
}; };
nativeBuildInputs = [ pkgconfig ]; patches = map (p:
buildInputs = [ fuse zlib glib ];
patches = let fetchPatchFromDebian = { patch, sha256 }:
fetchpatch { fetchpatch {
inherit sha256; inherit (p) name sha256;
url = "https://sources.debian.net/data/main/f/fuseiso/20070708-3.2/debian/patches/${patch}"; url = "https://sources.debian.net/data/main/f/fuseiso/${version}-3.2/debian/patches/${p.name}";
}; }) [
in [ {
(fetchPatchFromDebian { name = "00-support_large_iso.patch";
patch = "00-support_large_iso.patch";
sha256 = "1lmclb1qwzz5f4wlq693g83bblwnjjl73qhgfxbsaac5hnn2shjw"; sha256 = "1lmclb1qwzz5f4wlq693g83bblwnjjl73qhgfxbsaac5hnn2shjw";
}) }
(fetchPatchFromDebian { # CVE-2015-8837 {
patch = "02-prevent-buffer-overflow.patch"; name = "01-fix_typo.patch";
sha256 = "14rpxp0yylzsgqv0r19l4wx1h5hvqp617gpv1yg0w48amr9drasa";
}
{ # CVE-2015-8837
name = "02-prevent-buffer-overflow.patch";
sha256 = "1ls2pp3mh91pdb51qz1fsd8pwhbky6988bpd156bn7wgfxqzh8ig"; sha256 = "1ls2pp3mh91pdb51qz1fsd8pwhbky6988bpd156bn7wgfxqzh8ig";
}) }
(fetchPatchFromDebian { # CVE-2015-8836 { # CVE-2015-8836
patch = "03-prevent-integer-overflow.patch"; name = "03-prevent-integer-overflow.patch";
sha256 = "100cw07fk4sa3hl7a1gk2hgz4qsxdw99y20r7wpidwwwzy463zcv"; sha256 = "100cw07fk4sa3hl7a1gk2hgz4qsxdw99y20r7wpidwwwzy463zcv";
}) }
]; ];
meta = { nativeBuildInputs = [ autoreconfHook pkgconfig ];
homepage = "https://sourceforge.net/projects/fuseiso";
buildInputs = [ fuse glib zlib ];
# after autoreconfHook, glib and zlib are not found, so force link against
# them
NIX_LDFLAGS = "-lglib-2.0 -lz";
enableParallelBuilding = true;
postInstall = ''
install -Dm444 -t $out/share/doc/${pname} NEWS README
'';
meta = with stdenv.lib; {
description = "FUSE module to mount ISO filesystem images"; description = "FUSE module to mount ISO filesystem images";
platforms = stdenv.lib.platforms.linux; homepage = "https://sourceforge.net/projects/fuseiso";
license = stdenv.lib.licenses.gpl2; license = licenses.gpl2;
platforms = platforms.linux;
}; };
} }