aboutsummaryrefslogtreecommitdiffstats
path: root/community/meld
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2019-10-30 08:33:52 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2019-11-05 15:33:57 +0000
commit7bd0cf16adcd1ae5f175130320766abbed2e72d6 (patch)
treea0f7e28391660e677756d19bfcb70c64228a41bc /community/meld
parente5555c187582a53274a53f4c73ef0282e120220c (diff)
downloadaports-7bd0cf16adcd1ae5f175130320766abbed2e72d6.tar.bz2
aports-7bd0cf16adcd1ae5f175130320766abbed2e72d6.tar.xz
community/meld: rebuild against python 3.8
Diffstat (limited to 'community/meld')
-rw-r--r--community/meld/APKBUILD9
-rw-r--r--community/meld/python-3.8.patch67
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
+