Hi Brian,
I solved the issue with Python 2.7 by adding PKG_NAMES and *_CONTENTS:
inherit python-wheel
PYTHON_WHEEL_VERSIONS="2.7:3.8:3.9"
NAME="python-fasteners"
VERSION=0.16.3
RELEASE=1
CATEGORY="Python"
SUMMARY="Cross platform locks for threads and processes."
DESCRIPTION="Python standard library provides a lock for threads (both a
reentrant one, and a non-reentrant one, see below). Fasteners extends
this, and provides a lock for processes, as well as Reader Writer locks
for both threads and processes."
SRC_URI="https://github.com/harlowja/fasteners/archive/refs/tags/${VERSION}.tar.gz"
SRC_DIR="fasteners-${VERSION}"
ARCH=noarch
PKG_NAMES+=" python27-fasteners"
python27_fasteners_CONTENTS="usr/lib/python2.7/site-packages/
usr/share/doc/python27-fasteners/"
still I'm concerned about the generated requirements, where the package
itself is referring to itself with very long name. Is that normal?
>>> python38-fasteners requires: python38
python38-fasteners-python-fasteners-fasteners python38-six
>>> python39-fasteners requires: python39
python39-fasteners-python-fasteners-fasteners python39-six
>>> python27-fasteners requires: python27
python27-fasteners-python-fasteners-fasteners python27-six
Libor
Dne 07.04.2022 v 21:39 Libor Ukropec napsal(a):
Hi Brian,
Dne 07.04.2022 v 1:40 Brian Inglis napsal(a):
On 2022-04-06 16:10, Libor Ukropec wrote:
I'd like to offer to adopt maintenance of duplicity (Encrypted
bandwidth-efficient backup system)
Information from https://duplicity.gitlab.io/ - """The last stable
0.7 release is *0.7.19*, released Apr 19, 2019""", while cygwin
contains 0.7.11 from 2017
Updated cygport:
https://github.com/cz6ace/cygwin-duplicity
You need to define BUILD_REQUIRES and list all Cygwin packages needed
to build this package:
https://cygwin.github.io/cygport/check_funcs_cygpart.html#robo791
Use BUILD_REQUIRES+=" ..." for additional lines of packages.
Updated build:
https://github.com/cz6ace/cygwin-duplicity/releases
See:
https://cygwin.com/git/cygwin-packages/duplicity.git
This repository was my starting point, I just increased the version and
prepared the package (below) for the new python dependency (fasterners).
I did not see on the contribution page any mention to the `playground`
thing and an automation - will try that, once my SSH key is added.
As my first contribution to cygwin I wanted to start with small steps
and stay with 0.7 duplicity, which still depends on the Python 2.7
You can clone the repo for the original files, checkout a playground
branch, commit your changes and patches (and any extra source files),
define the upstream playground branch, and push your changes there,
which will run Scallywag CI under Github Actions (or Appveyor if you
configure that cygport option).
Please note for successful installation the python 2.7 fasteners
package is required, not yet in cygwin, I plan to offer [ITP] for it:
cygport:
https://github.com/cz6ace/cygwin-python-fasteners
build:
https://github.com/cz6ace/cygwin-python-fasteners/releases
Need to support python3/39 now: see python package cygports in
cygwin-packages repos as above!
Is it a must at this moment? As I stated above, duplicity 0.7.x requires
Python 2.7
I changed the `inherit` to python-wheel, which should support 2.7,3.8, 3.9:
inherit python-wheel
PYTHON_WHEEL_VERSIONS="2.7:3.8:3.9"
But the cygport does not create the tar.cz archive for 2.7 and fails with
... <shortened the list>
-usr/lib/python2.7/site-packages/fasteners/version.py
...
*** ERROR: Packages are missing files:
I tried previous cygport version, but it fails creating python 3.7 package.
I'll try to look to cygport sources if I am able to see something, which
I doubt.
Python standard library provides a lock for threads (both a reentrant
one, and a non-reentrant one, see below). Fasteners extends this, and
provides a lock for processes, as well as Reader Writer locks for
both threads and processes.
This library (in newer version) is also present in LInux
distributions, e.g. Ubuntu:
https://packages.ubuntu.com/source/focal/s390x/python-fasteners