about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/libfm
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/libfm')
-rw-r--r--nixpkgs/pkgs/development/libraries/libfm/default.nix53
1 files changed, 53 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/libfm/default.nix b/nixpkgs/pkgs/development/libraries/libfm/default.nix
new file mode 100644
index 000000000000..5d7389b6d188
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libfm/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, stdenv
+, fetchurl
+, glib
+, intltool
+, menu-cache
+, pango
+, pkg-config
+, vala
+, extraOnly ? false
+, withGtk3 ? false, gtk2, gtk3
+}:
+
+let
+    gtk = if withGtk3 then gtk3 else gtk2;
+    inherit (lib) optional optionalString;
+in
+stdenv.mkDerivation rec {
+  pname = if extraOnly
+          then "libfm-extra"
+          else "libfm";
+  version = "1.3.2";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/pcmanfm/libfm-${version}.tar.xz";
+    sha256 = "sha256-pQQmMDBM+OXYz/nVZca9VG8ii0jJYBU+02ajTofK0eU=";
+  };
+
+  nativeBuildInputs = [ vala pkg-config intltool ];
+  buildInputs = [ glib gtk pango ]
+                ++ optional (!extraOnly) menu-cache;
+
+  configureFlags = [ "--sysconfdir=/etc" ]
+                   ++ optional extraOnly "--with-extra-only"
+                   ++ optional withGtk3 "--with-gtk=3";
+
+  installFlags = [ "sysconfdir=${placeholder "out"}/etc" ];
+
+  # libfm-extra is pulled in by menu-cache and thus leads to a collision for libfm
+  postInstall = optionalString (!extraOnly) ''
+     rm $out/lib/libfm-extra.so $out/lib/libfm-extra.so.* $out/lib/libfm-extra.la $out/lib/pkgconfig/libfm-extra.pc
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with lib; {
+    homepage = "https://blog.lxde.org/category/pcmanfm/";
+    license = licenses.lgpl21Plus;
+    description = "A glib-based library for file management";
+    maintainers = [ maintainers.ttuegel ];
+    platforms = platforms.linux ++ platforms.darwin;
+  };
+}