Package Details: python-booleanoperations 0.9.0-3

Git Clone URL: https://aur.archlinux.org/python-booleanoperations.git (read-only, click to copy)
Package Base: python-booleanoperations
Description: Boolean operations on paths
Upstream URL: https://github.com/typemytype/booleanOperations
Licenses: MIT
Submitter: wiill
Maintainer: alerque (thrasibule)
Last Packager: alerque
Votes: 3
Popularity: 0.000802
First Submitted: 2017-01-05 01:18
Last Updated: 2021-08-23 22:34

Pinned Comments

alerque commented on 2021-08-03 11:50

PSA: Like most of the PKGBUILDs that I (co-)maintain, I host prebuilt packages for this in my user repository and all its dependencies for those who wish to install it using pacman without messing around with building from the AUR. Issues or contributions are welcome either in comments below or via this GitHub repository.

Latest Comments

« First ‹ Previous 1 2 3 Next › Last »

alerque commented on 2021-07-23 11:47

This packages is even more broken than my previous comment suggests. Your so called "fix" for removing the scm dependency doesn't even patch the right file! This completely fails to build in a clean chroot because it can't find scm tools, tries to use pip to install it, and of course crashes and burns. It is evident that you aren't actually testing these commits against a clean system as the patches I sent have been.

I understand Python packaging can be obnoxious, but can we please stop trying to avoid obvious fixes like using the dependencies as specified upstream (especially when those dependencies are in [community])? Even if you were going to patch it out, bogus fixes like this one that don't even operate on the right files and leave the package still broken are clearly worse than just using the right dependencies. I already sent patches which actually fix this properly and build cleanly against Arch's default repositories and following packaging guidelines. If you can't be bothered to test using makechrootpkg or some other clean build method at least apply my patches or allow me to do so.

alerque commented on 2021-07-21 10:03

This one is still broken. You missed the --optimize=1 argument (see Python guidelines here) that is required to get prebuilt bytecode managed by the package manage instead of untracked files being created on each system.

It's still quite frustrating that you are ignoring my patches. Even if you wanted to change something and do it differently afterwards, starting by applying my patches would save you some of this trouble, I had this correct in my patch to setup the split build/package.

alerque commented on 2021-07-19 21:02

Per previous discussion, here are two incremental packages needed to bring this up to even minimal Arch packaging requirements. This package does not build before these patches, and it does with them. There are more things mentioned in the Arch Python package guidelines that are not correct yet, but this is an essential start to even get a working build.

Please apply each with git am < file.patch:

From 751a6f8094e47d98707c85111610226237ab7d4a Mon Sep 17 00:00:00 2001
From: Caleb Maclennan <caleb@alerque.com>
Date: Mon, 19 Jul 2021 23:53:40 +0300
Subject: [PATCH 1/2] Split build/package functions

See https://wiki.archlinux.org/title/Python_package_guidelines#distutils

Signed-off-by: Caleb Maclennan <caleb@alerque.com>
---
 PKGBUILD | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/PKGBUILD b/PKGBUILD
index 895b4ec..f01d330 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,4 +1,5 @@
 # Maintainer: Guillaume Horel <guillaume.horel@gmail.com>
+# Contributor: Caleb Maclennan <caleb@alerque.com>
 # Ex-Maintainer: William Turner <willtur.will@gmail.com>
 pkgname='python-booleanoperations'
 _pkgname=booleanOperations
@@ -15,9 +16,14 @@ options=(!emptydirs)
 source=("https://pypi.org/packages/source/${_pkgname:0:1}/${_pkgname}/${_pkgname}-${pkgver}.zip")
 sha256sums=('8cfa821c32ad374fa120d6b2e0b444ebeac57c91e6631528645fa19ac2a281b8')

+build() {
+  cd "${srcdir}/$_pkgname-$pkgver"
+  python setup.py build
+}
+
 package() {
   cd "${srcdir}/$_pkgname-$pkgver"
-  python setup.py install --root=$pkgdir ||return 1
+  python setup.py install --root="$pkgdir" --optimize=1 --skip-build
   install -D -m644  LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
 }

-- 
2.32.0

From 7ed46f9e91a6d8a4a8c98538d125418990c16369 Mon Sep 17 00:00:00 2001
From: Caleb Maclennan <caleb@alerque.com>
Date: Mon, 19 Jul 2021 23:58:47 +0300
Subject: [PATCH 2/2] Fix broken dependencies

Signed-off-by: Caleb Maclennan <caleb@alerque.com>
---
 .SRCINFO |  6 +++---
 PKGBUILD | 11 ++++++++---
 2 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/.SRCINFO b/.SRCINFO
index f2bee56..48d070c 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,19 +1,19 @@
 pkgbase = python-booleanoperations
    pkgdesc = Boolean operations on paths.
    pkgver = 0.9.0
-   pkgrel = 1
+   pkgrel = 2
    url = https://github.com/typemytype/booleanOperations
    arch = any
    license = MIT
    checkdepends = python-pytest
    checkdepends = python-defcon
    checkdepends = python-fontpens
-   makedepends = python-setuptools
+   makedepends = python-setuptools-scm
    depends = python-pyclipper
    depends = python-fonttools
+   depends = python-fs
    options = !emptydirs
    source = https://pypi.org/packages/source/b/booleanOperations/booleanOperations-0.9.0.zip
    sha256sums = 8cfa821c32ad374fa120d6b2e0b444ebeac57c91e6631528645fa19ac2a281b8

 pkgname = python-booleanoperations
-
diff --git a/PKGBUILD b/PKGBUILD
index f01d330..6e2fab2 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,18 +4,23 @@
 pkgname='python-booleanoperations'
 _pkgname=booleanOperations
 pkgver=0.9.0
-pkgrel=1
+pkgrel=2
 pkgdesc='Boolean operations on paths.'
 arch=('any')
 url='https://github.com/typemytype/booleanOperations'
 license=('MIT')
 checkdepends=('python-pytest' 'python-defcon' 'python-fontpens')
-depends=('python-pyclipper' 'python-fonttools')
-makedepends=('python-setuptools')
+depends=('python-pyclipper' 'python-fonttools' 'python-fs')
+makedepends=('python-setuptools-scm')
 options=(!emptydirs)
 source=("https://pypi.org/packages/source/${_pkgname:0:1}/${_pkgname}/${_pkgname}-${pkgver}.zip")
 sha256sums=('8cfa821c32ad374fa120d6b2e0b444ebeac57c91e6631528645fa19ac2a281b8')

+prepare() {
+  cd "${srcdir}/$_pkgname-$pkgver"
+  sed -i -e '/wheel$/d' setup.cfg
+}
+
 build() {
   cd "${srcdir}/$_pkgname-$pkgver"
   python setup.py build
-- 
2.32.0

alerque commented on 2021-06-02 16:39

@randomguy343 You can build by using --nocheck somewhere in the dependency loop to get one package started.

@thrasibule This is an ongoing problem for people trying to break into the loop. I realize this is bad dev practice in the upstream projects that depends on consumer libraries for testing, but that's what we have to work with. Disabling the check() functions by default using options=(!check) would be appropriate. The testing isn't really even testing that the package works right, only that the upstream regression suite passes in the build environment.

randomguy343 commented on 2021-06-02 09:38

@SolarAquarion +1
I experience the same thing, python-fontpens, python-booleanoperations and python-fontparts can't be installed individually nor together.

SolarAquarion commented on 2021-05-05 23:47

==> Using [custom] repository -> python-booleanoperations: (none) -> 0.9.0-1 -> python-defcon: (none) -> 0.8.1-2 -> python-fontmath: (none) -> 0.6.0-1 -> python-fontparts: (none) -> 0.9.10-1 -> python-fontpens: (none) -> 0.2.4-1 -> python-pyclipper: (none) -> 1.2.1-1 python-pyclipper transitive dependency of python-booleanoperations python-defcon transitive dependency of python-booleanoperations python-fontpens transitive dependency of python-booleanoperations python-booleanoperations transitive dependency of python-fontparts python-defcon transitive dependency of python-fontparts python-fontmath transitive dependency of python-fontparts python-fontpens transitive dependency of python-fontparts python-fontmath transitive dependency of python-fontpens python-fontparts transitive dependency of python-fontpens tsort: -: input contains a loop: tsort: python-fontpens tsort: python-fontparts tsort: python-booleanoperations tsort: -: input contains a loop: tsort: python-fontpens tsort: python-fontparts ==> ERROR: sync: invalid argument

SolarAquarion commented on 2021-05-05 23:46

this package in the checkdepends is causing a circular dependency operation

alerque commented on 2021-01-07 19:11

@djmattyg007 As much as I disagree with the policy of treating AUR pkgrel's different than ones in [community] in this regard, it is against current AUR guidelines to bump release just because they need rebuilding due to library updates in official repos. Sadly makepkg -fi or yay --rebuild is your friend here.

djmattyg007 commented on 2021-01-03 02:57

Could you please bump the pkgrel to force a rebuild for python3.9?

PedroHLC commented on 2020-11-01 17:02

ModuleNotFoundError: No module named 'pytest'

Missing python-pytest to build in a clean chroot.