summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-10 05:37:35 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-10 05:37:35 +0000
commit562fff64add6dd14172fcbf298802712b1934da8 (patch)
tree213383f77601aac0d6b5d08bf881d6dcdaa21020
parent8807b5b9141cd7019c1b2cd21e16b2618567451b (diff)
automatic import of python-setuptools-golangopeneuler20.03
-rw-r--r--.gitignore1
-rw-r--r--python-setuptools-golang.spec303
-rw-r--r--sources1
3 files changed, 305 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..8e640af 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/setuptools_golang-2.7.0.tar.gz
diff --git a/python-setuptools-golang.spec b/python-setuptools-golang.spec
new file mode 100644
index 0000000..88c9958
--- /dev/null
+++ b/python-setuptools-golang.spec
@@ -0,0 +1,303 @@
+%global _empty_manifest_terminate_build 0
+Name: python-setuptools-golang
+Version: 2.7.0
+Release: 1
+Summary: A setuptools extension for building cpython extensions written in golang.
+License: MIT
+URL: https://github.com/asottile/setuptools-golang
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/ee/46/0f3e0229dbcc950e4f3f163486a567a0d572ae88c771823b5031c88125dc/setuptools_golang-2.7.0.tar.gz
+BuildArch: noarch
+
+
+%description
+A setuptools extension for building cpython extensions written in golang.
+## Requirements
+This requires golang >= 1.5. It is currently tested against 1.16 and 1.17.
+This requires python >= 3.6. It is currently tested against python3 and pypy3.
+## Platform Support
+- linux
+- macOS
+- win32 (32 bit cpython, 32 bit go 1.10+)
+## Usage
+Add `setuptools-golang` to the `setup_requires` in your setup.py and
+`build_golang={'root': ...}`. `root` refers to the root go import path of
+your project.
+By default, `setuptools-golang` will strip all binaries. This can be disabled
+by adding `'strip': False` to `build_golang`. This will increase the size of
+the extension, but the binaries contain debugging information and symbols.
+An extension must be a single file in the `main` go package (though the entire
+`main` package will be built into the extension). That package may import
+other code.
+You may have multiple extensions in your `setup.py`.
+```python
+setup(
+ build_golang={'root': 'github.com/user/project'},
+ ext_modules=[Extension('example', ['example.go'])],
+ setup_requires=['setuptools-golang'],
+)
+```
+## Writing cpython extensions in golang
+Here's some [examples](https://github.com/asottile/setuptools-golang-examples)
+## Common issues
+### ```undefined reference to `some_c_function'```
+`Extension` by default will bring along the go files listed, but won't bring
+along the related C files. Add the following to `MANIFEST.in`:
+```
+global-include *.c
+global-include *.go
+```
+### `fatal: could not read Username for 'https://github.com':`
+You're probably trying to import from an external source which does not exist.
+Double check that your import is correct.
+### `package github.com/a/b/c: /tmp/.../github.com/a/b exists but /tmp/.../github.com/a/b/.git does not - stale checkout?`
+You've probably mistyped an import. Double check that your import is correct.
+### `duplicate symbol _XXX in: _cgo_export.o mod.cgo2.o`
+For example:
+```
+# github.com/asottile/dockerfile/pylib
+duplicate symbol _PyDockerfile_GoParseError in:
+ $WORK/github.com/asottile/dockerfile/pylib/_obj/_cgo_export.o
+ $WORK/github.com/asottile/dockerfile/pylib/_obj/main.cgo2.o
+```
+Make sure to mark global variables defined in C as `extern`.
+[Here's an example PR](https://github.com/asottile/dockerfile/pull/8)
+### repeated rebuilds can be slow
+setuptools-golang attempts to make builds more repeatable by using a separate
+`GOPATH` -- if you'd like to reuse a GOPATH you can set the
+`SETUPTOOLS_GOLANG_GOPATH` environment variable:
+```console
+$ SETUPTOOLS_GOLANG_GOPATH=~/go pip install .
+```
+## Building manylinux wheels
+`setuptools-golang` also provides a tool for building
+[PEP 513](https://www.python.org/dev/peps/pep-0513/) manylinux1 wheels so your
+consumers don't need to have a go compiler installed to use your library.
+Simply run `setuptools-golang-build-manylinux-wheels` from your source
+directory. The resulting wheels will end up in `./dist`.
+```
+$ setuptools-golang-build-manylinux-wheels
++ ls /dist -al
+total 8092
+drwxrwxr-x 2 1000 1000 4096 Feb 1 04:16 .
+drwxr-xr-x 41 root root 4096 Feb 1 04:15 ..
+-rw-r--r-- 1 1000 1000 2063299 Feb 1 04:16 setuptools_golang_examples-0.1.1-cp34-cp34m-manylinux1_x86_64.whl
+-rw-r--r-- 1 1000 1000 2064862 Feb 1 04:16 setuptools_golang_examples-0.1.1-cp35-cp35m-manylinux1_x86_64.whl
+-rw-r--r-- 1 1000 1000 2064873 Feb 1 04:16 setuptools_golang_examples-0.1.1-cp36-cp36m-manylinux1_x86_64.whl
+-rw-rw-r-- 1 1000 1000 4273 Feb 1 04:14 setuptools-golang-examples-0.1.1.tar.gz
+*******************************************************************************
+Your wheels have been built into ./dist
+*******************************************************************************
+```
+
+%package -n python3-setuptools-golang
+Summary: A setuptools extension for building cpython extensions written in golang.
+Provides: python-setuptools-golang
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-setuptools-golang
+A setuptools extension for building cpython extensions written in golang.
+## Requirements
+This requires golang >= 1.5. It is currently tested against 1.16 and 1.17.
+This requires python >= 3.6. It is currently tested against python3 and pypy3.
+## Platform Support
+- linux
+- macOS
+- win32 (32 bit cpython, 32 bit go 1.10+)
+## Usage
+Add `setuptools-golang` to the `setup_requires` in your setup.py and
+`build_golang={'root': ...}`. `root` refers to the root go import path of
+your project.
+By default, `setuptools-golang` will strip all binaries. This can be disabled
+by adding `'strip': False` to `build_golang`. This will increase the size of
+the extension, but the binaries contain debugging information and symbols.
+An extension must be a single file in the `main` go package (though the entire
+`main` package will be built into the extension). That package may import
+other code.
+You may have multiple extensions in your `setup.py`.
+```python
+setup(
+ build_golang={'root': 'github.com/user/project'},
+ ext_modules=[Extension('example', ['example.go'])],
+ setup_requires=['setuptools-golang'],
+)
+```
+## Writing cpython extensions in golang
+Here's some [examples](https://github.com/asottile/setuptools-golang-examples)
+## Common issues
+### ```undefined reference to `some_c_function'```
+`Extension` by default will bring along the go files listed, but won't bring
+along the related C files. Add the following to `MANIFEST.in`:
+```
+global-include *.c
+global-include *.go
+```
+### `fatal: could not read Username for 'https://github.com':`
+You're probably trying to import from an external source which does not exist.
+Double check that your import is correct.
+### `package github.com/a/b/c: /tmp/.../github.com/a/b exists but /tmp/.../github.com/a/b/.git does not - stale checkout?`
+You've probably mistyped an import. Double check that your import is correct.
+### `duplicate symbol _XXX in: _cgo_export.o mod.cgo2.o`
+For example:
+```
+# github.com/asottile/dockerfile/pylib
+duplicate symbol _PyDockerfile_GoParseError in:
+ $WORK/github.com/asottile/dockerfile/pylib/_obj/_cgo_export.o
+ $WORK/github.com/asottile/dockerfile/pylib/_obj/main.cgo2.o
+```
+Make sure to mark global variables defined in C as `extern`.
+[Here's an example PR](https://github.com/asottile/dockerfile/pull/8)
+### repeated rebuilds can be slow
+setuptools-golang attempts to make builds more repeatable by using a separate
+`GOPATH` -- if you'd like to reuse a GOPATH you can set the
+`SETUPTOOLS_GOLANG_GOPATH` environment variable:
+```console
+$ SETUPTOOLS_GOLANG_GOPATH=~/go pip install .
+```
+## Building manylinux wheels
+`setuptools-golang` also provides a tool for building
+[PEP 513](https://www.python.org/dev/peps/pep-0513/) manylinux1 wheels so your
+consumers don't need to have a go compiler installed to use your library.
+Simply run `setuptools-golang-build-manylinux-wheels` from your source
+directory. The resulting wheels will end up in `./dist`.
+```
+$ setuptools-golang-build-manylinux-wheels
++ ls /dist -al
+total 8092
+drwxrwxr-x 2 1000 1000 4096 Feb 1 04:16 .
+drwxr-xr-x 41 root root 4096 Feb 1 04:15 ..
+-rw-r--r-- 1 1000 1000 2063299 Feb 1 04:16 setuptools_golang_examples-0.1.1-cp34-cp34m-manylinux1_x86_64.whl
+-rw-r--r-- 1 1000 1000 2064862 Feb 1 04:16 setuptools_golang_examples-0.1.1-cp35-cp35m-manylinux1_x86_64.whl
+-rw-r--r-- 1 1000 1000 2064873 Feb 1 04:16 setuptools_golang_examples-0.1.1-cp36-cp36m-manylinux1_x86_64.whl
+-rw-rw-r-- 1 1000 1000 4273 Feb 1 04:14 setuptools-golang-examples-0.1.1.tar.gz
+*******************************************************************************
+Your wheels have been built into ./dist
+*******************************************************************************
+```
+
+%package help
+Summary: Development documents and examples for setuptools-golang
+Provides: python3-setuptools-golang-doc
+%description help
+A setuptools extension for building cpython extensions written in golang.
+## Requirements
+This requires golang >= 1.5. It is currently tested against 1.16 and 1.17.
+This requires python >= 3.6. It is currently tested against python3 and pypy3.
+## Platform Support
+- linux
+- macOS
+- win32 (32 bit cpython, 32 bit go 1.10+)
+## Usage
+Add `setuptools-golang` to the `setup_requires` in your setup.py and
+`build_golang={'root': ...}`. `root` refers to the root go import path of
+your project.
+By default, `setuptools-golang` will strip all binaries. This can be disabled
+by adding `'strip': False` to `build_golang`. This will increase the size of
+the extension, but the binaries contain debugging information and symbols.
+An extension must be a single file in the `main` go package (though the entire
+`main` package will be built into the extension). That package may import
+other code.
+You may have multiple extensions in your `setup.py`.
+```python
+setup(
+ build_golang={'root': 'github.com/user/project'},
+ ext_modules=[Extension('example', ['example.go'])],
+ setup_requires=['setuptools-golang'],
+)
+```
+## Writing cpython extensions in golang
+Here's some [examples](https://github.com/asottile/setuptools-golang-examples)
+## Common issues
+### ```undefined reference to `some_c_function'```
+`Extension` by default will bring along the go files listed, but won't bring
+along the related C files. Add the following to `MANIFEST.in`:
+```
+global-include *.c
+global-include *.go
+```
+### `fatal: could not read Username for 'https://github.com':`
+You're probably trying to import from an external source which does not exist.
+Double check that your import is correct.
+### `package github.com/a/b/c: /tmp/.../github.com/a/b exists but /tmp/.../github.com/a/b/.git does not - stale checkout?`
+You've probably mistyped an import. Double check that your import is correct.
+### `duplicate symbol _XXX in: _cgo_export.o mod.cgo2.o`
+For example:
+```
+# github.com/asottile/dockerfile/pylib
+duplicate symbol _PyDockerfile_GoParseError in:
+ $WORK/github.com/asottile/dockerfile/pylib/_obj/_cgo_export.o
+ $WORK/github.com/asottile/dockerfile/pylib/_obj/main.cgo2.o
+```
+Make sure to mark global variables defined in C as `extern`.
+[Here's an example PR](https://github.com/asottile/dockerfile/pull/8)
+### repeated rebuilds can be slow
+setuptools-golang attempts to make builds more repeatable by using a separate
+`GOPATH` -- if you'd like to reuse a GOPATH you can set the
+`SETUPTOOLS_GOLANG_GOPATH` environment variable:
+```console
+$ SETUPTOOLS_GOLANG_GOPATH=~/go pip install .
+```
+## Building manylinux wheels
+`setuptools-golang` also provides a tool for building
+[PEP 513](https://www.python.org/dev/peps/pep-0513/) manylinux1 wheels so your
+consumers don't need to have a go compiler installed to use your library.
+Simply run `setuptools-golang-build-manylinux-wheels` from your source
+directory. The resulting wheels will end up in `./dist`.
+```
+$ setuptools-golang-build-manylinux-wheels
++ ls /dist -al
+total 8092
+drwxrwxr-x 2 1000 1000 4096 Feb 1 04:16 .
+drwxr-xr-x 41 root root 4096 Feb 1 04:15 ..
+-rw-r--r-- 1 1000 1000 2063299 Feb 1 04:16 setuptools_golang_examples-0.1.1-cp34-cp34m-manylinux1_x86_64.whl
+-rw-r--r-- 1 1000 1000 2064862 Feb 1 04:16 setuptools_golang_examples-0.1.1-cp35-cp35m-manylinux1_x86_64.whl
+-rw-r--r-- 1 1000 1000 2064873 Feb 1 04:16 setuptools_golang_examples-0.1.1-cp36-cp36m-manylinux1_x86_64.whl
+-rw-rw-r-- 1 1000 1000 4273 Feb 1 04:14 setuptools-golang-examples-0.1.1.tar.gz
+*******************************************************************************
+Your wheels have been built into ./dist
+*******************************************************************************
+```
+
+%prep
+%autosetup -n setuptools-golang-2.7.0
+
+%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-setuptools-golang -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Wed May 10 2023 Python_Bot <Python_Bot@openeuler.org> - 2.7.0-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..9569b67
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+3dfb506a4c8a82fa1e9d387d00ce02cb setuptools_golang-2.7.0.tar.gz