summary refs log tree commit diff
path: root/pkgs/desktops/gnome-3/misc/gnome-flashback
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/desktops/gnome-3/misc/gnome-flashback')
-rw-r--r--pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix92
-rw-r--r--pkgs/desktops/gnome-3/misc/gnome-flashback/fix-paths.patch30
2 files changed, 122 insertions, 0 deletions
diff --git a/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix b/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix
new file mode 100644
index 000000000000..f3f2cf992571
--- /dev/null
+++ b/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix
@@ -0,0 +1,92 @@
+{ stdenv
+, autoreconfHook
+, fetchurl
+, fetchpatch
+, gettext
+, glib
+, gnome-bluetooth
+, gnome-desktop
+, gnome-session
+, gnome3
+, gsettings-desktop-schemas
+, gtk
+, ibus
+, intltool
+, libcanberra-gtk3
+, libpulseaudio
+, libxkbfile
+, libxml2
+, metacity
+, pkgconfig
+, polkit
+, substituteAll
+, upower
+, xkeyboard_config }:
+
+let
+  pname = "gnome-flashback";
+  version = "3.28.0";
+in stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
+    sha256 = "1ra8bfwgwqw47zx2h1q999g7l4dnqh7sv02if3zk8pkw3sm769hg";
+  };
+
+  patches =[
+    (substituteAll {
+      src = ./fix-paths.patch;
+      inherit metacity;
+      gnomeSession = gnome-session;
+    })
+
+    # https://github.com/NixOS/nixpkgs/issues/36468
+    # https://gitlab.gnome.org/GNOME/gnome-flashback/issues/3
+    (fetchpatch {
+      url = https://gitlab.gnome.org/GNOME/gnome-flashback/commit/eabd34f64adc43b8783920bd7a2177ce21f83fbc.patch;
+      sha256 = "116c5zy8cp7d06mrsn943q7vj166086jzrfzfqg7yli14pmf9w1a";
+    })
+  ];
+
+  nativeBuildInputs = [
+    autoreconfHook
+    gettext
+    libxml2
+    pkgconfig
+  ];
+
+  buildInputs = [
+    glib
+    gnome-bluetooth
+    gnome-desktop
+    gsettings-desktop-schemas
+    gtk
+    ibus
+    libcanberra-gtk3
+    libpulseaudio
+    libxkbfile
+    polkit
+    upower
+    xkeyboard_config
+  ];
+
+  doCheck = true;
+
+  enableParallelBuilding = true;
+
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "gnome3.${pname}";
+    };
+  };
+
+  meta = with stdenv.lib; {
+    description = "GNOME 2.x-like session for GNOME 3";
+    homepage = https://wiki.gnome.org/Projects/GnomeFlashback;
+    license = licenses.gpl2;
+    maintainers = gnome3.maintainers;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/misc/gnome-flashback/fix-paths.patch b/pkgs/desktops/gnome-3/misc/gnome-flashback/fix-paths.patch
new file mode 100644
index 000000000000..9d5add233d61
--- /dev/null
+++ b/pkgs/desktops/gnome-3/misc/gnome-flashback/fix-paths.patch
@@ -0,0 +1,30 @@
+--- a/data/Makefile.am
++++ b/data/Makefile.am
+@@ -22,7 +22,7 @@
+ 	             echo 'if [ -z $$XDG_CURRENT_DESKTOP ]; then' && \
+ 	             echo '  export XDG_CURRENT_DESKTOP="GNOME-Flashback:GNOME"' && \
+ 	             echo 'fi' && echo '' && \
+-	             echo 'exec gnome-session --session=gnome-flashback-compiz "$$@"') > $@
++	             echo 'exec @gnomeSession@/bin/gnome-session --session=gnome-flashback-compiz "$$@"') > $@
+ 	$(AM_V_at) chmod a+x $@
+ 
+ gnome-flashback-metacity: Makefile
+@@ -30,7 +30,7 @@
+ 	             echo 'if [ -z $$XDG_CURRENT_DESKTOP ]; then' && \
+ 	             echo '  export XDG_CURRENT_DESKTOP="GNOME-Flashback:GNOME"' && \
+ 	             echo 'fi' && echo '' && \
+-	             echo 'exec gnome-session --session=gnome-flashback-metacity --disable-acceleration-check "$$@"') > $@
++	             echo 'exec @gnomeSession@/bin/gnome-session --session=gnome-flashback-metacity --disable-acceleration-check "$$@"') > $@
+ 	$(AM_V_at) chmod a+x $@
+ 
+ CLEANFILES = \
+--- a/data/xsessions/gnome-flashback-metacity.desktop.in.in
++++ b/data/xsessions/gnome-flashback-metacity.desktop.in.in
+@@ -2,6 +2,6 @@
+ Name=GNOME Flashback (Metacity)
+ Comment=This session logs you into GNOME Flashback with Metacity
+ Exec=@libexecdir@/gnome-flashback-metacity
+-TryExec=metacity
++TryExec=@metacity@/bin/metacity
+ Type=Application
+ DesktopNames=GNOME-Flashback;GNOME;