Package Details: python-portalocker 3.0.0-1

Git Clone URL: https://aur.archlinux.org/python-portalocker.git (read-only, click to copy)
Package Base: python-portalocker
Description: Easy, portable file locking API.
Upstream URL: https://github.com/WoLpH/portalocker
Licenses: BSD-3-Clause
Submitter: eta-carinae
Maintainer: eta-carinae
Last Packager: eta-carinae
Votes: 6
Popularity: 0.036210
First Submitted: 2016-04-27 16:56 (UTC)
Last Updated: 2024-11-18 17:12 (UTC)

Latest Comments

1 2 Next › Last »

hias commented on 2024-04-27 18:43 (UTC) (edited on 2024-04-27 18:44 (UTC) by hias)

Hi, thanks for this AUR package :-D The build failed whith

ERROR Missing dependencies:
        setuptools-scm
inside of build()

python-setuptools-scm 8.0.4-3 is installed btw. it would be cool someone could help me out here.

full makepkg -s output (German):

==> Erstelle Paket: python-portalocker 2.8.2-2 (Sa 27 Apr 2024 20:21:32 CEST)
==> Prüfe Laufzeit-Abhängigkeiten...
==> Prüfe Buildtime-Abhängigkeiten...
==> Empfange Quellen...
  -> portalocker-2.8.2.tar.gz gefunden
==> Überprüfe source Dateien mit sha256sums...
    portalocker-2.8.2.tar.gz ... Erfolg
==> Entpacke Quellen...
  -> Entpacke portalocker-2.8.2.tar.gz mit bsdtar
==> Entferne existierendes $pkgdir/ Verzeichnis...
==> Beginne build()...
* Getting build dependencies for wheel...
validate_pyproject.api.load_builtin_plugin defines `tool.distutils` schema
validate_pyproject.api.load_builtin_plugin defines `tool.setuptools` schema
running egg_info
writing portalocker.egg-info/PKG-INFO
writing dependency_links to portalocker.egg-info/dependency_links.txt
writing requirements to portalocker.egg-info/requires.txt
writing top-level names to portalocker.egg-info/top_level.txt
reading manifest file 'portalocker.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'portalocker.egg-info/SOURCES.txt'

ERROR Missing dependencies:
        setuptools-scm
==> FEHLER: Ein Fehler geschah in build().
    Breche ab...

eta-carinae commented on 2023-12-10 19:31 (UTC)

Should be fixed now. That's what I get for not using a clean chroot.

micwoj92 commented on 2023-12-10 19:11 (UTC)

Add python-pygments to checkdepends.

eta-carinae commented on 2023-12-10 16:05 (UTC)

This is now up-to-date with as of version 2.8.2. Sorry, I've had COVID and been out of commission for several weeks.

carsme commented on 2023-11-24 19:19 (UTC)

Hey, this has been out of date for some time. If you'd add me as co-maintainer I can help keep it up-to-date. Thanks!

eta-carinae commented on 2023-08-05 15:47 (UTC)

Fixed, thanks.

carlosal1015 commented on 2023-08-04 23:34 (UTC)

Thanks for the changes, only python-setuptools is missing, the wiki allows you to choose the appropriate backend between python-setuptools, poetry-core, python-flit-core, python-hatch, maturin, etc.

==> Making package: python-portalocker 2.7.0-3 (Fri Aug  4 18:06:50 2023)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> WARNING: Using existing $srcdir/ tree
==> Starting build()...
* Getting build dependencies for wheel...

Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/pyproject_hooks/_impl.py", line 321, in _call_hook
    raise BackendUnavailable(data.get('traceback', ''))
pyproject_hooks._impl.BackendUnavailable: Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/pyproject_hooks/_in_process/_in_process.py", line 77, in _build_backend
    obj = import_module(mod_path)
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1128, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1142, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'setuptools'

ERROR Backend 'setuptools.build_meta:__legacy__' is not available.
==> ERROR: A failure occurred in build().
    Aborting...
 -> error making: python-portalocker-exit status 4

eta-carinae commented on 2023-08-04 15:25 (UTC)

Hi Carlos,

Thanks for the suggestions. I've updated the PKGBUILD, incorporating most of your changes. I also added you as a contributor. Thanks again!

carlosal1015 commented on 2023-08-03 16:38 (UTC)

Hi, thanks for maintain this module. I would like to leave some comments about.

First, recently to avoid this warning message

running install
/usr/lib/python3.11/site-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
!

        ********************************************************************************
        Please avoid running ``setup.py`` directly.
        Instead, use pypa/build, pypa/installer or other
        standards-based tools.

        See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
        ********************************************************************************

!!
  self.initialize_options()
running build

we can use the tools in PEP 517 according to Python package guidelines.

Second, in the section PKGBUILD#license, the Python Software License will be nice to include in the package.

So, this is what the PKGBUILD would look like

# Maintainer: Ashley Bone <ashley DOT bone AT pm DOT me>
_pkgname=portalocker
pkgname=python-${_pkgname}
pkgver=2.7.0
pkgrel=2
pkgdesc="Wraps the portalocker recipe for easy usage"
arch=('any')
url="https://github.com/WoLpH/${_pkgname}"
license=('PSF')
depends=('python')
makedepends=('python-build' 'python-installer' 'python-setuptools' 'python-wheel')
checkdepends=('python-pytest' 'python-redis')
optdepends=('python-redis: redis lock support')
source=("https://pypi.python.org/packages/source/${_pkgname::1}/${_pkgname}/${_pkgname}-${pkgver}.tar.gz")
sha512sums=('9f6dc31fda36f2fcc7088134b5249c6ec4a92a1fa2e85bf55c700469f183d29ed1a1bd522b65909844c85dfe6872d83809d21b78dc89886533db2692cc709ed2')

build() {
  cd "${srcdir}/${_pkgname}-${pkgver}"
  python -m build --wheel --skip-dependency-check --no-isolation
}

check() {
  cd "${srcdir}/${_pkgname}-${pkgver}"
  python -m venv --system-site-packages test-env
  test-env/bin/python -m installer dist/*.whl
  test-env/bin/python -m pytest
}

package() {
  cd "${srcdir}/${_pkgname}-${pkgver}"
  python -m installer --destdir="${pkgdir}" dist/*.whl
  install -Dm 644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
}