diff options
Diffstat (limited to 'pkgs/desktops/mate/caja')
-rw-r--r-- | pkgs/desktops/mate/caja/default.nix | 12 | ||||
-rw-r--r-- | pkgs/desktops/mate/caja/with-extensions.nix | 61 |
2 files changed, 69 insertions, 4 deletions
diff --git a/pkgs/desktops/mate/caja/default.nix b/pkgs/desktops/mate/caja/default.nix index fc5a8e93d9b9..a09cef4621a8 100644 --- a/pkgs/desktops/mate/caja/default.nix +++ b/pkgs/desktops/mate/caja/default.nix @@ -3,24 +3,26 @@ , fetchurl , pkg-config , gettext +, gtk-layer-shell , gtk3 , libnotify , libxml2 , libexif , exempi -, mate +, mate-desktop , hicolor-icon-theme +, wayland , wrapGAppsHook , mateUpdateScript }: stdenv.mkDerivation rec { pname = "caja"; - version = "1.26.3"; + version = "1.28.0"; src = fetchurl { url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "gT7fCKNvmV7DwVBBMf+K+70CH24VhmQ/5dztXnPleQ0="; + sha256 = "HjAUzhRVgX7C73TQnv37aDXYo3LtmhbvtZGe97ghlXo="; }; nativeBuildInputs = [ @@ -30,13 +32,15 @@ stdenv.mkDerivation rec { ]; buildInputs = [ + gtk-layer-shell gtk3 libnotify libxml2 libexif exempi - mate.mate-desktop + mate-desktop hicolor-icon-theme + wayland ]; configureFlags = [ "--disable-update-mimedb" ]; diff --git a/pkgs/desktops/mate/caja/with-extensions.nix b/pkgs/desktops/mate/caja/with-extensions.nix new file mode 100644 index 000000000000..b9a55b4b9209 --- /dev/null +++ b/pkgs/desktops/mate/caja/with-extensions.nix @@ -0,0 +1,61 @@ +{ stdenv +, lib +, glib +, wrapGAppsHook +, xorg +, caja +, cajaExtensions +, extensions ? [ ] +, useDefaultExtensions ? true +}: + +let + selectedExtensions = extensions ++ (lib.optionals useDefaultExtensions cajaExtensions); +in +stdenv.mkDerivation { + pname = "${caja.pname}-with-extensions"; + version = caja.version; + + src = null; + + nativeBuildInputs = [ + glib + wrapGAppsHook + ]; + + buildInputs = lib.forEach selectedExtensions (x: x.buildInputs) ++ selectedExtensions + ++ [ caja ] ++ caja.buildInputs; + + dontUnpack = true; + dontConfigure = true; + dontBuild = true; + + preferLocalBuild = true; + allowSubstitutes = false; + + installPhase = '' + runHook preInstall + + mkdir -p $out + ${xorg.lndir}/bin/lndir -silent ${caja} $out + + dbus_service_path="share/dbus-1/services/org.mate.freedesktop.FileManager1.service" + rm -f $out/share/applications/* "$out/$dbus_service_path" + for file in ${caja}/share/applications/*; do + substitute "$file" "$out/share/applications/$(basename $file)" \ + --replace-fail "${caja}" "$out" + done + substitute "${caja}/$dbus_service_path" "$out/$dbus_service_path" \ + --replace-fail "${caja}" "$out" + + runHook postInstall + ''; + + preFixup = lib.optionalString (selectedExtensions != [ ]) '' + gappsWrapperArgs+=( + --set CAJA_EXTENSION_DIRS ${lib.concatMapStringsSep ":" (x: "${x.outPath}/lib/caja/extensions-2.0") selectedExtensions} + ) + ''; + + inherit (caja.meta); +} |