diff options
Diffstat (limited to 'development/meld3')
-rw-r--r-- | development/meld3/meld3.SlackBuild | 4 | ||||
-rw-r--r-- | development/meld3/meld3.info | 6 | ||||
-rw-r--r-- | development/meld3/python-3.8.patch | 61 |
3 files changed, 67 insertions, 4 deletions
diff --git a/development/meld3/meld3.SlackBuild b/development/meld3/meld3.SlackBuild index 7dc06d9f168cf..3ef67e1459c3d 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 d311d6f41389b..abbb038df62ea 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 0000000000000..36ff4bcf7cde3 --- /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) + |