summary refs log tree commit diff
path: root/pkgs/tools/X11/xdg-utils/default.nix
diff options
context:
space:
mode:
authorJan Malakhovski <oxij@oxij.org>2015-08-15 19:01:46 +0000
committerLuca Bruno <lucabru@src.gnome.org>2015-08-16 20:23:01 +0200
commita0f50dc665be1dfb8792db584e6b67afd075cf47 (patch)
treeeaf886ff5a07b0d409c0ad92a73947c744121785 /pkgs/tools/X11/xdg-utils/default.nix
parentc88e9deff451097aa2d6ec97a22ffd53ee4103b7 (diff)
downloadnixlib-a0f50dc665be1dfb8792db584e6b67afd075cf47.tar
nixlib-a0f50dc665be1dfb8792db584e6b67afd075cf47.tar.gz
nixlib-a0f50dc665be1dfb8792db584e6b67afd075cf47.tar.bz2
nixlib-a0f50dc665be1dfb8792db584e6b67afd075cf47.tar.lz
nixlib-a0f50dc665be1dfb8792db584e6b67afd075cf47.tar.xz
nixlib-a0f50dc665be1dfb8792db584e6b67afd075cf47.tar.zst
nixlib-a0f50dc665be1dfb8792db584e6b67afd075cf47.zip
xdg_utils: add mimi support
Diffstat (limited to 'pkgs/tools/X11/xdg-utils/default.nix')
-rw-r--r--pkgs/tools/X11/xdg-utils/default.nix33
1 files changed, 25 insertions, 8 deletions
diff --git a/pkgs/tools/X11/xdg-utils/default.nix b/pkgs/tools/X11/xdg-utils/default.nix
index c010884abdd6..170539b3805c 100644
--- a/pkgs/tools/X11/xdg-utils/default.nix
+++ b/pkgs/tools/X11/xdg-utils/default.nix
@@ -1,5 +1,18 @@
-{ stdenv, fetchzip, file, libxslt, docbook_xml_dtd_412, docbook_xsl, xmlto
-, w3m, which, gnugrep, gnused, coreutils }:
+{ stdenv, fetchzip, fetchFromGitHub, file, libxslt, docbook_xml_dtd_412, docbook_xsl, xmlto
+, 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";
+    rev = "d85ea8256ed627e93b387cd42e4ab39bfab9504c";
+    sha256 = "1h9mb3glfvc6pa2f9g07xgmf8lrwxiyjxvl906xlysy4klybxvhg";
+  };
+in
 
 stdenv.mkDerivation rec {
   name = "xdg-utils-1.1.0-rc3p7";
@@ -13,7 +26,12 @@ stdenv.mkDerivation rec {
   # just needed when built from git
   buildInputs = [ libxslt docbook_xml_dtd_412 docbook_xsl xmlto w3m ];
 
-  postInstall = ''
+  postInstall = stdenv.lib.optionalString mimiSupport ''
+    cp ${mimisrc}/xdg-open $out/bin/xdg-open
+    substituteInPlace $out/bin/xdg-open --replace "awk " "${gawk}/bin/awk "
+    substituteInPlace $out/bin/xdg-open --replace "sort " "${coreutils}/bin/sort "
+    substituteInPlace $out/bin/xdg-open --replace "(file " "(${file}/bin/file "
+  '' + ''
     for item in $out/bin/*; do
       substituteInPlace $item --replace "cut " "${coreutils}/bin/cut "
       substituteInPlace $item --replace "sed " "${gnused}/bin/sed "
@@ -24,12 +42,11 @@ stdenv.mkDerivation rec {
     done
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://portland.freedesktop.org/wiki/;
     description = "A set of command line tools that assist applications with a variety of desktop integration tasks";
-    license = stdenv.lib.licenses.free;
-    maintainers = [ stdenv.lib.maintainers.eelco ];
-    platforms = stdenv.lib.platforms.linux;
+    license = if mimiSupport then licenses.gpl2 else licenses.free;
+    maintainers = [ maintainers.eelco ];
+    platforms = platforms.linux;
   };
 }
-