2016-03-20 01:50:05 +01:00
|
|
|
{ stdenv, fetchurl, fetchFromGitHub
|
|
|
|
, file, libxslt, docbook_xml_dtd_412, docbook_xsl, xmlto
|
2015-08-15 21:01:46 +02:00
|
|
|
, w3m, which, gnugrep, gnused, coreutils
|
|
|
|
, mimiSupport ? false, gawk ? null }:
|
|
|
|
|
|
|
|
assert mimiSupport -> gawk != null;
|
|
|
|
|
|
|
|
let
|
|
|
|
# A much better xdg-open
|
|
|
|
mimisrc = fetchFromGitHub {
|
|
|
|
owner = "march-linux";
|
|
|
|
repo = "mimi";
|
2017-01-04 15:01:35 +01:00
|
|
|
rev = "8e0070f17bcd3612ee83cb84e663e7c7fabcca3d";
|
|
|
|
sha256 = "15gw2nyrqmdsdin8gzxihpn77grhk9l97jp7s7pr7sl4n9ya2rpj";
|
2015-08-15 21:01:46 +02:00
|
|
|
};
|
|
|
|
in
|
2010-03-25 20:48:06 +01:00
|
|
|
|
|
|
|
stdenv.mkDerivation rec {
|
2016-03-20 01:50:05 +01:00
|
|
|
name = "xdg-utils-${version}";
|
2017-08-27 04:11:38 +02:00
|
|
|
version = "1.1.2";
|
2014-11-06 01:44:33 +01:00
|
|
|
|
2016-03-20 01:50:05 +01:00
|
|
|
src = fetchurl {
|
|
|
|
url = "https://portland.freedesktop.org/download/${name}.tar.gz";
|
2017-08-27 04:11:38 +02:00
|
|
|
sha256 = "1k4b4m3aiyqn9k12a0ihcdahzlspl3zhskmm1d7228dvqvi546cm";
|
2010-03-25 20:48:06 +01:00
|
|
|
};
|
2012-10-04 13:38:26 +02:00
|
|
|
|
2015-02-07 07:30:05 +01:00
|
|
|
# just needed when built from git
|
|
|
|
buildInputs = [ libxslt docbook_xml_dtd_412 docbook_xsl xmlto w3m ];
|
2015-01-25 14:30:27 +01:00
|
|
|
|
2015-08-15 21:01:46 +02:00
|
|
|
postInstall = stdenv.lib.optionalString mimiSupport ''
|
|
|
|
cp ${mimisrc}/xdg-open $out/bin/xdg-open
|
2017-06-06 01:37:35 +02:00
|
|
|
'' + ''
|
|
|
|
sed '2s#.#\
|
|
|
|
cut() { ${coreutils}/bin/cut "$@"; }\
|
|
|
|
sed() { ${gnused}/bin/sed "$@"; }\
|
|
|
|
grep() { ${gnugrep}/bin/grep "$@"; }\
|
|
|
|
egrep() { ${gnugrep}/bin/egrep "$@"; }\
|
|
|
|
file() { ${file}/bin/file "$@"; }\
|
|
|
|
awk() { ${gawk}/bin/awk "$@"; }\
|
|
|
|
sort() { ${coreutils}/bin/sort "$@"; }\
|
|
|
|
&#' -i "$out"/bin/*
|
2016-03-14 10:57:08 +01:00
|
|
|
|
2016-03-20 01:50:39 +01:00
|
|
|
substituteInPlace $out/bin/xdg-open \
|
|
|
|
--replace "/usr/bin/printf" "${coreutils}/bin/printf"
|
|
|
|
|
|
|
|
substituteInPlace $out/bin/xdg-mime \
|
|
|
|
--replace "/usr/bin/file" "${file}/bin/file"
|
|
|
|
|
2017-08-27 04:11:38 +02:00
|
|
|
substituteInPlace $out/bin/xdg-email \
|
|
|
|
--replace "/bin/echo" "${coreutils}/bin/echo"
|
|
|
|
|
2016-03-14 10:57:08 +01:00
|
|
|
sed 's# which # type -P #g' -i "$out"/bin/*
|
2012-10-04 13:38:26 +02:00
|
|
|
'';
|
2014-11-06 01:44:33 +01:00
|
|
|
|
2015-08-15 21:01:46 +02:00
|
|
|
meta = with stdenv.lib; {
|
2018-01-05 20:42:46 +01:00
|
|
|
homepage = https://portland.freedesktop.org/wiki/;
|
2010-03-25 20:48:06 +01:00
|
|
|
description = "A set of command line tools that assist applications with a variety of desktop integration tasks";
|
2015-08-15 21:01:46 +02:00
|
|
|
license = if mimiSupport then licenses.gpl2 else licenses.free;
|
|
|
|
maintainers = [ maintainers.eelco ];
|
2015-10-28 18:49:04 +01:00
|
|
|
platforms = platforms.all;
|
2010-03-25 20:48:06 +01:00
|
|
|
};
|
|
|
|
}
|