From 2d43cbd47497ae5e0a1101fc6ea216b658ac7c2d Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Tue, 11 Apr 2023 03:59:34 +0000 Subject: automatic import of python-delocate --- .gitignore | 1 + python-delocate.spec | 199 +++++++++++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 3 files changed, 201 insertions(+) create mode 100644 python-delocate.spec create mode 100644 sources diff --git a/.gitignore b/.gitignore index e69de29..46b65c5 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/delocate-0.10.4.tar.gz diff --git a/python-delocate.spec b/python-delocate.spec new file mode 100644 index 0000000..23cda75 --- /dev/null +++ b/python-delocate.spec @@ -0,0 +1,199 @@ +%global _empty_manifest_terminate_build 0 +Name: python-delocate +Version: 0.10.4 +Release: 1 +Summary: Move macOS dynamic libraries into package +License: BSD license +URL: http://github.com/matthew-brett/delocate +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/12/e8/486f4184dec36659c8ea13bb0a5b8d50196cf04d027e94a19c6cd0c61c6f/delocate-0.10.4.tar.gz +BuildArch: noarch + +Requires: python3-packaging +Requires: python3-typing-extensions +Requires: python3-machomachomangler +Requires: python3-bindepend + +%description +Current Python.org Python and the macOS system Python (``/usr/bin/python``) +are both dual architecture binaries. For example:: + $ lipo -info /usr/bin/python + Architectures in the fat file: /usr/bin/python are: x86_64 arm64e +**Note**: you can compile ARM binaries for basic ARM (``arm64``), or to use +some extended ARM capabilities (``arm64e``) - see `this SO post +`_. Both +types of binaries work on Mac M1 and M2 machines, so we will use ``arm64`` to +refer to either ``arm64`` or ``arm64e``. +The Big Sur macOS Python above has both ``x86_64`` and ``arm64`` (M1) versions +fused into one file. Earlier versions of macOS had dual architectures that +were 32-bit (``i386``) and 64-bit (``x86_64``). +For full compatibility with system and Python.org Python, wheels built for +Python.org Python or system Python should have the corresponding architectures +— e.g. ``x86_64`` and ``arm64`` versions of the Python extensions and their +libraries. It is easy to link Python extensions against single architecture +libraries by mistake, and therefore get single architecture extensions and / +or libraries. In fact my Scipy wheel is one such example, because I +inadvertently linked against the Homebrew libraries, which were ``x86_64`` +only. To check this you can use the ``--require-archs`` flag:: + $ delocate-wheel --require-archs=intel scipy-0.14.0-cp34-cp34m-macosx_10_6_intel.whl + Traceback (most recent call last): + File "/Users/mb312/.virtualenvs/delocate/bin/delocate-wheel", line 77, in + main() + File "/Users/mb312/.virtualenvs/delocate/bin/delocate-wheel", line 69, in main + check_verbose=opts.verbose) + File "/Users/mb312/.virtualenvs/delocate/lib/python2.7/site-packages/delocate/delocating.py", line 477, in delocate_wheel + "Some missing architectures in wheel") + delocate.delocating.DelocationError: Some missing architectures in wheel +Notice that this command was using an earlier version of Delocate that +supported Python 2; we now support Python 3 only. +The ``intel`` argument to ``--require-arch`` above requires dual 32- and 64- +bit architecture extensions and libraries. You can see which extensions are at +fault by adding the ``-v`` (verbose) flag:: + $ delocate-wheel -w fixed_wheels --require-archs=intel -v scipy-0.14.0-cp34-cp34m-macosx_10_6_intel.whl + Fixing: scipy-0.14.0-cp34-cp34m-macosx_10_6_intel.whl + Required arch i386 missing from /usr/local/Cellar/gfortran/4.8.2/gfortran/lib/libgfortran.3.dylib + Required arch i386 missing from /usr/local/Cellar/gfortran/4.8.2/gfortran/lib/libquadmath.0.dylib + Required arch i386 missing from scipy/fftpack/_fftpack.so + Required arch i386 missing from scipy/fftpack/convolve.so + Required arch i386 missing from scipy/integrate/_dop.so +I need to rebuild this wheel to link with dual-architecture libraries. + +%package -n python3-delocate +Summary: Move macOS dynamic libraries into package +Provides: python-delocate +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-delocate +Current Python.org Python and the macOS system Python (``/usr/bin/python``) +are both dual architecture binaries. For example:: + $ lipo -info /usr/bin/python + Architectures in the fat file: /usr/bin/python are: x86_64 arm64e +**Note**: you can compile ARM binaries for basic ARM (``arm64``), or to use +some extended ARM capabilities (``arm64e``) - see `this SO post +`_. Both +types of binaries work on Mac M1 and M2 machines, so we will use ``arm64`` to +refer to either ``arm64`` or ``arm64e``. +The Big Sur macOS Python above has both ``x86_64`` and ``arm64`` (M1) versions +fused into one file. Earlier versions of macOS had dual architectures that +were 32-bit (``i386``) and 64-bit (``x86_64``). +For full compatibility with system and Python.org Python, wheels built for +Python.org Python or system Python should have the corresponding architectures +— e.g. ``x86_64`` and ``arm64`` versions of the Python extensions and their +libraries. It is easy to link Python extensions against single architecture +libraries by mistake, and therefore get single architecture extensions and / +or libraries. In fact my Scipy wheel is one such example, because I +inadvertently linked against the Homebrew libraries, which were ``x86_64`` +only. To check this you can use the ``--require-archs`` flag:: + $ delocate-wheel --require-archs=intel scipy-0.14.0-cp34-cp34m-macosx_10_6_intel.whl + Traceback (most recent call last): + File "/Users/mb312/.virtualenvs/delocate/bin/delocate-wheel", line 77, in + main() + File "/Users/mb312/.virtualenvs/delocate/bin/delocate-wheel", line 69, in main + check_verbose=opts.verbose) + File "/Users/mb312/.virtualenvs/delocate/lib/python2.7/site-packages/delocate/delocating.py", line 477, in delocate_wheel + "Some missing architectures in wheel") + delocate.delocating.DelocationError: Some missing architectures in wheel +Notice that this command was using an earlier version of Delocate that +supported Python 2; we now support Python 3 only. +The ``intel`` argument to ``--require-arch`` above requires dual 32- and 64- +bit architecture extensions and libraries. You can see which extensions are at +fault by adding the ``-v`` (verbose) flag:: + $ delocate-wheel -w fixed_wheels --require-archs=intel -v scipy-0.14.0-cp34-cp34m-macosx_10_6_intel.whl + Fixing: scipy-0.14.0-cp34-cp34m-macosx_10_6_intel.whl + Required arch i386 missing from /usr/local/Cellar/gfortran/4.8.2/gfortran/lib/libgfortran.3.dylib + Required arch i386 missing from /usr/local/Cellar/gfortran/4.8.2/gfortran/lib/libquadmath.0.dylib + Required arch i386 missing from scipy/fftpack/_fftpack.so + Required arch i386 missing from scipy/fftpack/convolve.so + Required arch i386 missing from scipy/integrate/_dop.so +I need to rebuild this wheel to link with dual-architecture libraries. + +%package help +Summary: Development documents and examples for delocate +Provides: python3-delocate-doc +%description help +Current Python.org Python and the macOS system Python (``/usr/bin/python``) +are both dual architecture binaries. For example:: + $ lipo -info /usr/bin/python + Architectures in the fat file: /usr/bin/python are: x86_64 arm64e +**Note**: you can compile ARM binaries for basic ARM (``arm64``), or to use +some extended ARM capabilities (``arm64e``) - see `this SO post +`_. Both +types of binaries work on Mac M1 and M2 machines, so we will use ``arm64`` to +refer to either ``arm64`` or ``arm64e``. +The Big Sur macOS Python above has both ``x86_64`` and ``arm64`` (M1) versions +fused into one file. Earlier versions of macOS had dual architectures that +were 32-bit (``i386``) and 64-bit (``x86_64``). +For full compatibility with system and Python.org Python, wheels built for +Python.org Python or system Python should have the corresponding architectures +— e.g. ``x86_64`` and ``arm64`` versions of the Python extensions and their +libraries. It is easy to link Python extensions against single architecture +libraries by mistake, and therefore get single architecture extensions and / +or libraries. In fact my Scipy wheel is one such example, because I +inadvertently linked against the Homebrew libraries, which were ``x86_64`` +only. To check this you can use the ``--require-archs`` flag:: + $ delocate-wheel --require-archs=intel scipy-0.14.0-cp34-cp34m-macosx_10_6_intel.whl + Traceback (most recent call last): + File "/Users/mb312/.virtualenvs/delocate/bin/delocate-wheel", line 77, in + main() + File "/Users/mb312/.virtualenvs/delocate/bin/delocate-wheel", line 69, in main + check_verbose=opts.verbose) + File "/Users/mb312/.virtualenvs/delocate/lib/python2.7/site-packages/delocate/delocating.py", line 477, in delocate_wheel + "Some missing architectures in wheel") + delocate.delocating.DelocationError: Some missing architectures in wheel +Notice that this command was using an earlier version of Delocate that +supported Python 2; we now support Python 3 only. +The ``intel`` argument to ``--require-arch`` above requires dual 32- and 64- +bit architecture extensions and libraries. You can see which extensions are at +fault by adding the ``-v`` (verbose) flag:: + $ delocate-wheel -w fixed_wheels --require-archs=intel -v scipy-0.14.0-cp34-cp34m-macosx_10_6_intel.whl + Fixing: scipy-0.14.0-cp34-cp34m-macosx_10_6_intel.whl + Required arch i386 missing from /usr/local/Cellar/gfortran/4.8.2/gfortran/lib/libgfortran.3.dylib + Required arch i386 missing from /usr/local/Cellar/gfortran/4.8.2/gfortran/lib/libquadmath.0.dylib + Required arch i386 missing from scipy/fftpack/_fftpack.so + Required arch i386 missing from scipy/fftpack/convolve.so + Required arch i386 missing from scipy/integrate/_dop.so +I need to rebuild this wheel to link with dual-architecture libraries. + +%prep +%autosetup -n delocate-0.10.4 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-delocate -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Tue Apr 11 2023 Python_Bot - 0.10.4-1 +- Package Spec generated diff --git a/sources b/sources new file mode 100644 index 0000000..236ebfc --- /dev/null +++ b/sources @@ -0,0 +1 @@ +427a6bbb2d847d19acbad98c83d8177f delocate-0.10.4.tar.gz -- cgit v1.2.3