summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorNorbert Pfeiler2015-10-09 18:30:58 +0200
committerNorbert Pfeiler2015-10-09 18:30:58 +0200
commit6785aeb4594629244678c0f6e076f76c00a5cc41 (patch)
tree29a0681e3f6a566bbad1190dfd8a052afe7b7b9f
parentf6268e594af50796934bdc45b05968ae4c24c31b (diff)
downloadaur-6785aeb4594629244678c0f6e076f76c00a5cc41.tar.gz
update to 3.18.0, use module detection patch from bugreport
-rw-r--r--.SRCINFO18
-rw-r--r--PKGBUILD28
-rw-r--r--catalyst-comment.patch16
-rw-r--r--catalyst-workaround.patch73
4 files changed, 99 insertions, 36 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 6a234195eb97..2d184834a959 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = mutter-catalyst
pkgdesc = A window manager for GNOME with patch for catalyst compatibility
- pkgver = 3.16.2
+ pkgver = 3.18.0
pkgrel = 1
url = http://www.gnome.org
install = mutter-catalyst.install
@@ -9,11 +9,11 @@ pkgbase = mutter-catalyst
groups = gnome
license = GPL
makedepends = intltool
- makedepends = gnome-doc-utils
makedepends = libxkbcommon-x11
+ makedepends = gobject-introspection
depends = clutter
depends = dconf
- depends = gobject-introspection
+ depends = gobject-introspection-runtime
depends = gsettings-desktop-schemas
depends = libcanberra
depends = startup-notification
@@ -22,15 +22,17 @@ pkgbase = mutter-catalyst
depends = gnome-desktop
depends = upower
depends = libxkbcommon-x11
- provides = mutter=3.16.2
+ depends = gnome-settings-daemon
+ depends = libgudev
+ provides = mutter=3.18.0
conflicts = mutter-wayland
conflicts = mutter
replaces = mutter-wayland
options = !emptydirs
- source = http://ftp.gnome.org/pub/gnome/sources/mutter/3.16/mutter-3.16.2.tar.xz
- source = catalyst-comment.patch
- sha256sums = 4a2b752f0b3aa59f50563190222623324f5154acbb6bf174213f5849e77d0763
- sha256sums = fe058744aadcf87cb92a9268beddbb1a501631e02b335a58c593b36c8b47d7d9
+ source = http://ftp.gnome.org/pub/gnome/sources/mutter/3.18/mutter-3.18.0.tar.xz
+ source = catalyst-workaround.patch
+ sha256sums = 9fb287976b9c65f0a2aca09d0e2c4c2748d3d2cfa5f38921dbeafe4cd1d541b1
+ sha256sums = cf6c54cf23dc5898ab105d8bde2d60fd3f6671b319ffef12b0584544bfb23655
pkgname = mutter-catalyst
diff --git a/PKGBUILD b/PKGBUILD
index 5aaf35293f0e..533cae25dc76 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,16 +1,18 @@
# Maintainer: Norbert Pfeiler <norbert.pfeiler ät gmail.com>
# Contributor: Christian Assfalg <ch.assfalg_at_gmx_dot_de>
+# Patch by Jan Holthuis
# Also Maintainers and Contributors of the ›mutter‹ package, this package is based on
-pkgname=mutter-catalyst
-pkgver=3.16.2
+_realname=mutter
+pkgname=$_realname-catalyst
+pkgver=3.18.0
pkgrel=1
pkgdesc="A window manager for GNOME with patch for catalyst compatibility"
arch=(i686 x86_64)
license=('GPL')
depends=('clutter'
'dconf'
- 'gobject-introspection'
+ 'gobject-introspection-runtime'
'gsettings-desktop-schemas'
'libcanberra'
'startup-notification'
@@ -19,31 +21,33 @@ depends=('clutter'
'gnome-desktop'
'upower'
'libxkbcommon-x11'
+ 'gnome-settings-daemon'
+ 'libgudev'
)
makedepends=('intltool'
- 'gnome-doc-utils'
'libxkbcommon-x11'
+ 'gobject-introspection'
)
conflicts=('mutter-wayland'
'mutter'
)
replaces=('mutter-wayland')
provides=("mutter=${pkgver}")
-url='http://www.gnome.org'
+url="http://www.gnome.org"
groups=('gnome')
options=('!emptydirs')
install=mutter-catalyst.install
-source=("http://ftp.gnome.org/pub/gnome/sources/mutter/${pkgver:0:4}/mutter-$pkgver.tar.xz"
- 'catalyst-comment.patch' )
-sha256sums=('4a2b752f0b3aa59f50563190222623324f5154acbb6bf174213f5849e77d0763'
- 'fe058744aadcf87cb92a9268beddbb1a501631e02b335a58c593b36c8b47d7d9')
+source=("http://ftp.gnome.org/pub/gnome/sources/$_realname/${pkgver:0:4}/$_realname-$pkgver.tar.xz"
+ 'catalyst-workaround.patch' )
+sha256sums=('9fb287976b9c65f0a2aca09d0e2c4c2748d3d2cfa5f38921dbeafe4cd1d541b1'
+ 'cf6c54cf23dc5898ab105d8bde2d60fd3f6671b319ffef12b0584544bfb23655')
build() {
- cd "mutter-$pkgver"
+ cd "$_realname-$pkgver"
#https://bugzilla.gnome.org/show_bug.cgi?id=741581
echo "Commenting out call to function with XRRChangeOutputProperty to fix issue with catalyst"
- patch -p1 < ../catalyst-comment.patch
+ patch -p1 < ../catalyst-workaround.patch
echo "Patch applied"
./configure --prefix=/usr --sysconfdir=/etc \
@@ -58,6 +62,6 @@ build() {
}
package() {
- cd "mutter-$pkgver"
+ cd "$_realname-$pkgver"
make DESTDIR="$pkgdir" install
}
diff --git a/catalyst-comment.patch b/catalyst-comment.patch
deleted file mode 100644
index aef3a9a42a24..000000000000
--- a/catalyst-comment.patch
+++ /dev/null
@@ -1,16 +0,0 @@
---- mutter-3.14.3/src/backends/x11/meta-monitor-manager-xrandr.c 2014-11-12 18:27:07.000000000 +0100
-+++ mutter-3.14.3/src/backends/x11/meta-monitor-manager-xrandr.c 2014-12-17 18:11:05.906206113 +0100
-@@ -933,11 +933,11 @@
- DefaultRootWindow (manager_xrandr->xdisplay),
- (XID)output_info->output->winsys_id);
- }
--
-+/*
- output_set_presentation_xrandr (manager_xrandr,
- output_info->output,
- output_info->is_presentation);
--
-+*/
- output->is_primary = output_info->is_primary;
- output->is_presentation = output_info->is_presentation;
- }
diff --git a/catalyst-workaround.patch b/catalyst-workaround.patch
new file mode 100644
index 000000000000..c63ac1bc53f3
--- /dev/null
+++ b/catalyst-workaround.patch
@@ -0,0 +1,73 @@
+@@ -, +, @@
+ src/backends/x11/meta-monitor-manager-xrandr.c | 47 ++++++++++++++++++++++++--
+ 1 file changed, 44 insertions(+), 3 deletions(-)
+--- a/src/backends/x11/meta-monitor-manager-xrandr.c
++++ a/src/backends/x11/meta-monitor-manager-xrandr.c
+@@ -1017,6 +1017,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
+ meta_monitor_manager_xrandr_apply_configuration (MetaMonitorManager *manager,
+ MetaCRTCInfo **crtcs,
+@@ -1193,6 +1228,8 @@ meta_monitor_manager_xrandr_apply_configuration (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];
+@@ -1205,9 +1242,13 @@ meta_monitor_manager_xrandr_apply_configuration (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,