2021-01-15 22:18:51 +00:00
|
|
|
{ lib, stdenv
|
2020-04-24 23:36:52 +00:00
|
|
|
, fetchurl
|
|
|
|
, libX11
|
|
|
|
, libXt
|
|
|
|
|
|
|
|
, libjpeg ? null
|
|
|
|
, libpng ? null
|
|
|
|
, libtiff ? null
|
|
|
|
|
|
|
|
, withJpegSupport ? true
|
|
|
|
, withPngSupport ? true
|
|
|
|
, withTiffSupport ? true
|
|
|
|
}:
|
|
|
|
|
|
|
|
assert withJpegSupport -> libjpeg != null;
|
|
|
|
assert withPngSupport -> libpng != null;
|
|
|
|
assert withTiffSupport -> libtiff != null;
|
|
|
|
|
|
|
|
let
|
|
|
|
deb_patch = "25";
|
|
|
|
in
|
|
|
|
stdenv.mkDerivation rec {
|
|
|
|
version = "4.1";
|
|
|
|
pname = "xloadimage";
|
|
|
|
|
|
|
|
src = fetchurl {
|
|
|
|
url = "mirror://debian/pool/main/x/xloadimage/xloadimage_${version}.orig.tar.gz";
|
|
|
|
sha256 = "1i7miyvk5ydhi6yi8593vapavhwxcwciir8wg9d2dcyg9pccf2s0";
|
|
|
|
};
|
|
|
|
|
|
|
|
patches = fetchurl {
|
|
|
|
url = "mirror://debian/pool/main/x/xloadimage/xloadimage_${version}-${deb_patch}.debian.tar.xz";
|
|
|
|
sha256 = "17k518vrdrya5c9dqhpmm4g0h2vlkq1iy87sg2ngzygypbli1xvn";
|
|
|
|
};
|
|
|
|
|
|
|
|
buildInputs = [
|
|
|
|
libX11 libXt
|
2021-01-15 22:18:51 +00:00
|
|
|
] ++ lib.optionals withJpegSupport [
|
2020-04-24 23:36:52 +00:00
|
|
|
libjpeg
|
2021-01-15 22:18:51 +00:00
|
|
|
] ++ lib.optionals withPngSupport [
|
2020-04-24 23:36:52 +00:00
|
|
|
libpng
|
2021-01-15 22:18:51 +00:00
|
|
|
] ++ lib.optionals withTiffSupport [
|
2020-04-24 23:36:52 +00:00
|
|
|
libtiff
|
|
|
|
];
|
|
|
|
|
|
|
|
# NOTE: we patch the build-info script so that it never detects the utilities
|
|
|
|
# it's trying to find; one of the Debian patches adds support for
|
|
|
|
# $SOURCE_DATE_EPOCH, but we want to make sure we don't even call these.
|
|
|
|
preConfigure = ''
|
|
|
|
substituteInPlace build-info \
|
|
|
|
--replace '[ -x /bin/date ]' 'false' \
|
|
|
|
--replace '[ -x /bin/id ]' 'false' \
|
|
|
|
--replace '[ -x /bin/uname ]' 'false' \
|
|
|
|
--replace '[ -x /usr/bin/id ]' 'false'
|
|
|
|
|
|
|
|
chmod +x build-info configure
|
|
|
|
'';
|
|
|
|
|
|
|
|
enableParallelBuilding = true;
|
|
|
|
|
|
|
|
# NOTE: we're not installing the `uufilter` binary; if needed, the standard
|
|
|
|
# `uudecode` tool should work just fine.
|
|
|
|
installPhase = ''
|
|
|
|
install -Dm755 xloadimage $out/bin/xloadimage
|
|
|
|
ln -sv $out/bin/{xloadimage,xsetbg}
|
|
|
|
|
|
|
|
install -D -m644 xloadimagerc $out/etc/xloadimagerc.example
|
|
|
|
install -D -m644 xloadimage.man $out/share/man/man1/xloadimage.1x
|
|
|
|
ln -sv $out/share/man/man1/{xloadimage,xsetbg}.1x
|
|
|
|
'';
|
|
|
|
|
|
|
|
meta = {
|
|
|
|
description = "Graphics file viewer under X11";
|
|
|
|
|
|
|
|
longDescription = ''
|
|
|
|
Can view png, jpeg, gif, tiff, niff, sunraster, fbm, cmuraster, pbm,
|
|
|
|
faces, rle, xwd, vff, mcidas, vicar, pcx, gem, macpaint, xpm and xbm
|
|
|
|
files. Can view images, put them on the root window, or dump them. Does a
|
|
|
|
variety of processing, including: clipping, dithering, depth reduction,
|
|
|
|
zoom, brightening/darkening and merging.
|
|
|
|
'';
|
|
|
|
|
2021-01-15 22:18:51 +00:00
|
|
|
license = lib.licenses.gpl2Plus;
|
2020-04-24 23:36:52 +00:00
|
|
|
|
2021-01-15 22:18:51 +00:00
|
|
|
maintainers = with lib.maintainers; [ andrew-d ];
|
|
|
|
platforms = lib.platforms.linux; # arbitrary choice
|
2020-04-24 23:36:52 +00:00
|
|
|
};
|
|
|
|
}
|