diff options
Diffstat (limited to 'pkgs/desktops/gnome-3/misc/gnome-flashback')
-rw-r--r-- | pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix | 92 | ||||
-rw-r--r-- | pkgs/desktops/gnome-3/misc/gnome-flashback/fix-paths.patch | 30 |
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; |