diff options
author | Norbert Pfeiler | 2018-03-26 02:22:26 +0200 |
---|---|---|
committer | Norbert Pfeiler | 2018-03-26 02:26:53 +0200 |
commit | c14cfd1ce6e5352cbca4b87be44fdadc6a1c9546 (patch) | |
tree | ac93408d768ec840da1b05b095c2be292a56af02 | |
parent | 8b038fa8505d55ed9981fd9a8569a2e4bed974f8 (diff) | |
download | aur-c14cfd1ce6e5352cbca4b87be44fdadc6a1c9546.tar.gz |
3.28.0
-rw-r--r-- | .SRCINFO | 18 | ||||
-rw-r--r-- | PKGBUILD | 25 | ||||
-rw-r--r-- | catalyst-workaround-v2.patch | 59 | ||||
-rw-r--r-- | catalyst-workaround.patch | 72 |
4 files changed, 79 insertions, 95 deletions
@@ -1,18 +1,16 @@ # Generated by mksrcinfo v8 -# Sat Feb 10 16:15:38 UTC 2018 +# Mon Mar 26 00:21:56 UTC 2018 pkgbase = mutter-catalyst pkgdesc = A window manager for GNOME with patches for catalyst compatibility - pkgver = 3.26.2+43+g77dd1bf63 + pkgver = 3.28.0 pkgrel = 1 url = https://git.gnome.org/browse/mutter - arch = i686 arch = x86_64 groups = gnome license = GPL makedepends = intltool makedepends = gobject-introspection makedepends = git - makedepends = gnome-common depends = dconf depends = gobject-introspection-runtime depends = gsettings-desktop-schemas @@ -20,24 +18,24 @@ pkgbase = mutter-catalyst depends = startup-notification depends = zenity depends = libsm - depends = gnome-desktop + depends = gnome-desktop>=1:3.28.0 depends = upower depends = libxkbcommon-x11 depends = gnome-settings-daemon depends = libgudev depends = libinput depends = pipewire - provides = mutter=3.26.2+43+g77dd1bf63 + provides = mutter=3.28.0 conflicts = mutter - conflicts = gnome-shell>3.26.2+999 + conflicts = gnome-shell>3.28.0+999 options = !emptydirs - source = git+https://git.gnome.org/browse/mutter#commit=77dd1bf63532946ba88bc959e9cc8a7991665035 + source = git+https://gitlab.gnome.org/GNOME/mutter.git#commit=47856d97011d7a9bd13c1e1c638a6e43ebd9d9ac source = startup-notification.patch - source = catalyst-workaround.patch + source = catalyst-workaround-v2.patch source = catalyst mutter cogl.patch sha256sums = SKIP sha256sums = 5a35ca4794fc361219658d9fae24a3ca21a365f2cb1901702961ac869c759366 - sha256sums = 754f21d4256128d3f49981fdf316f3345868969a87443e0795218043f1d1291b + sha256sums = 2564846288ea55262d681d38f7e43609c63e94990df1cb0a6b99e16e2c073d14 sha256sums = 55079a9daddedc22d9fe4dcfe2e87607345dfafb370f8e7fb6a98c0acae3348a pkgname = mutter-catalyst @@ -5,11 +5,11 @@ _realname=mutter pkgname=$_realname-catalyst -pkgver=3.26.2+43+g77dd1bf63 +pkgver=3.28.0 pkgrel=1 pkgdesc="A window manager for GNOME with patches for catalyst compatibility" url="https://git.gnome.org/browse/mutter" -arch=(i686 x86_64) +arch=(x86_64) license=('GPL') depends=('dconf' 'gobject-introspection-runtime' @@ -18,7 +18,7 @@ depends=('dconf' 'startup-notification' 'zenity' 'libsm' - 'gnome-desktop' + "gnome-desktop>=1:${pkgver:0:6}" # don’t build with outdated libraries 'upower' 'libxkbcommon-x11' 'gnome-settings-daemon' @@ -29,20 +29,19 @@ depends=('dconf' makedepends=('intltool' 'gobject-introspection' 'git' - 'gnome-common' ) conflicts=('mutter' "gnome-shell>${pkgver:0:6}+999") provides=("mutter=${pkgver}") groups=('gnome') options=('!emptydirs') -_commit=77dd1bf63532946ba88bc959e9cc8a7991665035 # gnome-3-26 -source=("git+https://git.gnome.org/browse/mutter#commit=$_commit" +_commit=47856d97011d7a9bd13c1e1c638a6e43ebd9d9ac # tags/3.28.0^0 +source=("git+https://gitlab.gnome.org/GNOME/mutter.git#commit=$_commit" "startup-notification.patch" - "catalyst-workaround.patch" + "catalyst-workaround-v2.patch" "catalyst mutter cogl.patch") sha256sums=('SKIP' '5a35ca4794fc361219658d9fae24a3ca21a365f2cb1901702961ac869c759366' - '754f21d4256128d3f49981fdf316f3345868969a87443e0795218043f1d1291b' + '2564846288ea55262d681d38f7e43609c63e94990df1cb0a6b99e16e2c073d14' '55079a9daddedc22d9fe4dcfe2e87607345dfafb370f8e7fb6a98c0acae3348a') pkgver() { @@ -58,13 +57,13 @@ prepare() { # https://bugzilla.gnome.org/show_bug.cgi?id=741581 echo "Skipping call to output_set_presentation_xrandr to fix issue with catalyst" - patch -Np1 -i "${srcdir}/catalyst-workaround.patch" + patch -Np1 -i "${srcdir}/catalyst-workaround-v2.patch" # https://bugzilla.gnome.org/show_bug.cgi?id=756306 echo "workaround compatibility shaders used in fw compat ctx in cogl" patch -Np1 -i "${srcdir}/catalyst mutter cogl.patch" echo "Patches applied" - NOCONFIGURE=1 ./autogen.sh + #NOCONFIGURE=1 ./autogen.sh } build() { @@ -72,15 +71,15 @@ build() { ./configure --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ - --libexecdir=/usr/lib/$_realname \ + --libexecdir=/usr/lib \ --disable-static \ --disable-schemas-compile \ --enable-compile-warnings=minimum \ --enable-gtk-doc \ --enable-egl-device \ - --disable-remote-desktop + --enable-remote-desktop - #https://bugzilla.gnome.org/show_bug.cgi?id=655517 + # https://bugzilla.gnome.org/show_bug.cgi?id=655517 sed -e 's/ -shared / -Wl,-O1,--as-needed\0/g' \ -i {.,cogl,clutter}/libtool diff --git a/catalyst-workaround-v2.patch b/catalyst-workaround-v2.patch new file mode 100644 index 000000000000..63b21f6a0ad5 --- /dev/null +++ b/catalyst-workaround-v2.patch @@ -0,0 +1,59 @@ +diff --git a/src/backends/x11/meta-output-xrandr.c b/src/backends/x11/meta-output-xrandr.c +index 1f44cb168..1ea404453 100644 +--- a/src/backends/x11/meta-output-xrandr.c ++++ b/src/backends/x11/meta-output-xrandr.c +@@ -119,6 +119,41 @@ output_set_underscanning_xrandr (MetaOutput *output, + } + } + ++static int ++output_get_fglrx_kernel_module_loaded() ++{ ++ /* Checks if fglrx module has been loaded by parsing /proc/modules. ++ * Returns 1 if the module was found (and thus has been loaded), 0 if the ++ * module was not found and -1 if /proc/modules couldn't be opened. ++ */ ++ ++ int retval = 0; // defaults to not found ++ ++ FILE* fp; ++ char line[256]; ++ ++ fp = fopen("/proc/modules", "r"); ++ if (!fp) ++ { ++ retval = -1; ++ } ++ else ++ { ++ while (fgets(line, sizeof(line), fp) != NULL) ++ { ++ char *entry = strtok(line, " \n"); ++ ++ if (strcmp(entry, "fglrx") == 0) ++ { ++ retval = 1; ++ break; ++ } ++ } ++ fclose(fp); ++ } ++ return retval; ++} ++ + void + meta_output_xrandr_apply_mode (MetaOutput *output) + { +@@ -130,7 +165,11 @@ meta_output_xrandr_apply_mode (MetaOutput *output) + (XID) output->winsys_id); + } + +- output_set_presentation_xrandr (output, output->is_presentation); ++ int fglrx_kernel_module_loaded = output_get_fglrx_kernel_module_loaded(); ++ ++ /* Don't call output_set_presentation_xrandr if fglrx/catalyst is used, because that causes a crash. */ ++ if (fglrx_kernel_module_loaded != 1) ++ output_set_presentation_xrandr (output, output->is_presentation); + + if (output->supports_underscanning) + output_set_underscanning_xrandr (output, output->is_underscanning); diff --git a/catalyst-workaround.patch b/catalyst-workaround.patch deleted file mode 100644 index 0d7272ff7478..000000000000 --- a/catalyst-workaround.patch +++ /dev/null @@ -1,72 +0,0 @@ -diff --git a/src/backends/x11/meta-monitor-manager-xrandr.c b/src/backends/x11/meta-monitor-manager-xrandr.c -index cc7a4440a..3bc1f0496 100644 ---- a/src/backends/x11/meta-monitor-manager-xrandr.c -+++ b/src/backends/x11/meta-monitor-manager-xrandr.c -@@ -1060,6 +1060,41 @@ output_set_underscanning_xrandr (MetaMonitorManagerXrandr *manager_xrandr, - } - } - -+static int -+output_get_fglrx_kernel_module_loaded() -+{ -+ /* Checks if fglrx module has been loaded by parsing /proc/modules. -+ * Returns 1 if the module was found (and thus has been loaded), 0 if the -+ * module was not found and -1 if /proc/modules couldn't be opened. -+ */ -+ -+ int retval = 0; // defaults to not found -+ -+ FILE* fp; -+ char line[256]; -+ -+ fp = fopen("/proc/modules", "r"); -+ if (!fp) -+ { -+ retval = -1; -+ } -+ else -+ { -+ while (fgets(line, sizeof(line), fp) != NULL) -+ { -+ char *entry = strtok(line, " \n"); -+ -+ if (strcmp(entry, "fglrx") == 0) -+ { -+ retval = 1; -+ break; -+ } -+ } -+ fclose(fp); -+ } -+ return retval; -+} -+ - static void - apply_crtc_assignments (MetaMonitorManager *manager, - MetaCrtcInfo **crtcs, -@@ -1235,6 +1270,8 @@ apply_crtc_assignments (MetaMonitorManager *manager, - } - } - -+ int fglrx_kernel_module_loaded = output_get_fglrx_kernel_module_loaded(); -+ - for (i = 0; i < n_outputs; i++) - { - MetaOutputInfo *output_info = outputs[i]; -@@ -1247,9 +1284,13 @@ apply_crtc_assignments (MetaMonitorManager *manager, - (XID)output_info->output->winsys_id); - } - -- output_set_presentation_xrandr (manager_xrandr, -- output_info->output, -- output_info->is_presentation); -+ /* Don't call output_set_presentation_xrandr if fglrx/catalyst is used, because that causes a crash. */ -+ if (fglrx_kernel_module_loaded != 1) -+ { -+ output_set_presentation_xrandr (manager_xrandr, -+ output_info->output, -+ output_info->is_presentation); -+ } - - if (output_get_supports_underscanning_xrandr (manager_xrandr, output_info->output)) - output_set_underscanning_xrandr (manager_xrandr, |