diff options
Diffstat (limited to 'community')
-rw-r--r-- | community/meld/APKBUILD | 9 | ||||
-rw-r--r-- | community/meld/python-3.8.patch | 67 |
2 files changed, 73 insertions, 3 deletions
diff --git a/community/meld/APKBUILD b/community/meld/APKBUILD index bd238905ed..8f8d544408 100644 --- a/community/meld/APKBUILD +++ b/community/meld/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: August Klein <amatcoder@gmail.com> pkgname=meld pkgver=3.20.1 -pkgrel=1 +pkgrel=2 pkgdesc="A visual diff and merge tool" url="https://meldmerge.org" arch="noarch" @@ -10,7 +10,9 @@ license="GPL-2.0-or-later" depends="dconf gtksourceview gsettings-desktop-schemas py3-gobject3" makedepends="intltool itstool libxml2-utils" subpackages="$pkgname-lang $pkgname-doc" -source="https://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz" +source="https://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz + python-3.8.patch + " build() { python3 setup.py build @@ -20,4 +22,5 @@ package() { python3 setup.py install --prefix=/usr --root="$pkgdir" } -sha512sums="cd21f298dc1da6eb08261599b9270989c837e0923d5cf5cfdad227dd7f256ac5f53ac903939ebef90ea6cd684c7355ce9482648057284f4ce44f1c7101959c1f meld-3.20.1.tar.xz" +sha512sums="cd21f298dc1da6eb08261599b9270989c837e0923d5cf5cfdad227dd7f256ac5f53ac903939ebef90ea6cd684c7355ce9482648057284f4ce44f1c7101959c1f meld-3.20.1.tar.xz +ac587c9b7f8d3d227439fb679acf287e91215b0acb29d703de8da2768773c668fdc17c183d01d3b0a56db842e2a8f4509b2065a0a9ee4a489fa233c51cf62d3e python-3.8.patch" diff --git a/community/meld/python-3.8.patch b/community/meld/python-3.8.patch new file mode 100644 index 0000000000..48fa0545d2 --- /dev/null +++ b/community/meld/python-3.8.patch @@ -0,0 +1,67 @@ +From 9cb590f9804a89d8914d0d7d6c89c336f6d86d86 Mon Sep 17 00:00:00 2001 +From: Kai Willadsen <kai.willadsen@gmail.com> +Date: Mon, 6 May 2019 08:15:23 +1000 +Subject: [PATCH] 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. +--- + README.md | 6 ++++++ + meld/build_helpers.py | 29 ++++++++++++++++++++++++----- + 2 files changed, 30 insertions(+), 5 deletions(-) + +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) + +-- +2.22.0 + |