summaryrefslogtreecommitdiffstats
path: root/development/meld3
diff options
context:
space:
mode:
Diffstat (limited to 'development/meld3')
-rw-r--r--development/meld3/meld3.SlackBuild4
-rw-r--r--development/meld3/meld3.info6
-rw-r--r--development/meld3/python-3.8.patch61
3 files changed, 67 insertions, 4 deletions
diff --git a/development/meld3/meld3.SlackBuild b/development/meld3/meld3.SlackBuild
index 7dc06d9f16..3ef67e1459 100644
--- a/development/meld3/meld3.SlackBuild
+++ b/development/meld3/meld3.SlackBuild
@@ -24,7 +24,7 @@
PRGNAM=meld3
SRCNAM=meld
-VERSION=${VERSION:-3.18.3}
+VERSION=${VERSION:-3.20.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -70,6 +70,8 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+patch -p1 < $CWD/python-3.8.patch
+
python3 setup.py install --root=$PKG
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
diff --git a/development/meld3/meld3.info b/development/meld3/meld3.info
index d311d6f413..abbb038df6 100644
--- a/development/meld3/meld3.info
+++ b/development/meld3/meld3.info
@@ -1,8 +1,8 @@
PRGNAM="meld3"
-VERSION="3.18.3"
+VERSION="3.20.1"
HOMEPAGE="http://meldmerge.org/"
-DOWNLOAD="https://download.gnome.org/sources/meld/3.18/meld-3.18.3.tar.xz"
-MD5SUM="81ab217622f856ee014f6b6c47a198f2"
+DOWNLOAD="https://download.gnome.org/sources/meld/3.20/meld-3.20.1.tar.xz"
+MD5SUM="0a2419d75fc8f8677fa6b4ce31ca8adc"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="gtksourceview3 pygobject3-python3"
diff --git a/development/meld3/python-3.8.patch b/development/meld3/python-3.8.patch
new file mode 100644
index 0000000000..36ff4bcf7c
--- /dev/null
+++ b/development/meld3/python-3.8.patch
@@ -0,0 +1,61 @@
+commit 9cb590f9804a89d8914d0d7d6c89c336f6d86d86
+Author: Kai Willadsen <kai.willadsen@gmail.com>
+Date: Mon May 6 08:15:23 2019 +1000
+
+ Update build helpers for Python 3.8 compatibility (#322)
+
+ The `linux_distribution` helper for the platform module has been removed
+ in Python 3.8, so we need an additional helper to check for the Debian-
+ style packaging layout.
+
+ Really this should be an `install_requires`, but moving our build
+ helpers to `setuptools` is a not-insignificant risk that I'd rather not
+ take when we're looking at moving to Meson.
+
+diff --git a/meld/build_helpers.py b/meld/build_helpers.py
+index 5977b3cd..f9fb302b 100644
+--- a/meld/build_helpers.py
++++ b/meld/build_helpers.py
+@@ -31,6 +31,15 @@ import platform
+ import sys
+ from distutils.log import info
+
++try:
++ import distro
++except ImportError:
++ python_version = tuple(int(x) for x in platform.python_version_tuple())
++ if python_version >= (3, 8):
++ print(
++ 'Missing build requirement "distro" Python module; '
++ 'install paths may be incorrect', file=sys.stderr)
++
+
+ def has_help(self):
+ return "build_help" in self.distribution.cmdclass and os.name != 'nt'
+@@ -404,11 +413,21 @@ class install(distutils.command.install.install):
+
+ def finalize_options(self):
+ special_cases = ('debian', 'ubuntu', 'linuxmint')
+- if (platform.system() == 'Linux' and
+- platform.linux_distribution()[0].lower() in special_cases):
+- # Maintain an explicit install-layout, but use deb by default
+- specified_layout = getattr(self, 'install_layout', None)
+- self.install_layout = specified_layout or 'deb'
++ if platform.system() == 'Linux':
++ # linux_distribution has been removed in Python 3.8; we require
++ # the third-party distro package for future handling.
++ try:
++ distribution = platform.linux_distribution()[0].lower()
++ except AttributeError:
++ try:
++ distribution = distro.id()
++ except NameError:
++ distribution = 'unknown'
++
++ if distribution in special_cases:
++ # Maintain an explicit install-layout, but use deb by default
++ specified_layout = getattr(self, 'install_layout', None)
++ self.install_layout = specified_layout or 'deb'
+
+ distutils.command.install.install.finalize_options(self)
+