mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-02-08 01:07:30 -08:00
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
127 lines
4.1 KiB
Diff
127 lines
4.1 KiB
Diff
--- defsetup.py
|
|
+++ defsetup.py
|
|
@@ -78,73 +78,27 @@
|
|
|
|
######################################################################
|
|
# WCSLIB
|
|
-WCSVERSION = "4.8.2"
|
|
-WCSLIB = "wcslib" # Path to wcslib
|
|
-WCSLIB_PATCHED = "wcslib"
|
|
-WCSLIBC = join(WCSLIB_PATCHED, "C") # Path to wcslib source files
|
|
-WCSFILES = [ # List of wcslib files to compile
|
|
- 'flexed/wcsbth.c',
|
|
- 'flexed/wcspih.c',
|
|
- 'flexed/wcsulex.c',
|
|
- 'flexed/wcsutrn.c',
|
|
- 'cel.c',
|
|
- 'lin.c',
|
|
- 'log.c',
|
|
- 'prj.c',
|
|
- 'spc.c',
|
|
- 'sph.c',
|
|
- 'spx.c',
|
|
- 'tab.c',
|
|
- 'wcs.c',
|
|
- 'wcserr.c',
|
|
- 'wcsfix.c',
|
|
- 'wcshdr.c',
|
|
- 'wcsprintf.c',
|
|
- 'wcsunits.c',
|
|
- 'wcsutil.c']
|
|
-WCSFILES = [join(WCSLIBC, x) for x in WCSFILES]
|
|
+from subprocess import Popen, PIPE
|
|
+from re import match
|
|
|
|
-######################################################################
|
|
-# WCSLIB CONFIGURATION
|
|
-
|
|
-# The only configuration parameter needed at compile-time is how to
|
|
-# specify a 64-bit signed integer. Python's ctypes module can get us
|
|
-# that information, but it is only available in Python 2.5 or later.
|
|
-# If we can't be absolutely certain, we default to "long long int",
|
|
-# which is correct on most platforms (x86, x86_64). If we find
|
|
-# platforms where this heuristic doesn't work, we may need to hardcode
|
|
-# for them.
|
|
-def determine_64_bit_int():
|
|
- try:
|
|
- try:
|
|
- import ctypes
|
|
- except ImportError:
|
|
- raise ValueError()
|
|
-
|
|
- if ctypes.sizeof(ctypes.c_longlong) == 8:
|
|
- return "long long int"
|
|
- elif ctypes.sizeof(ctypes.c_long) == 8:
|
|
- return "long int"
|
|
- elif ctypes.sizeof(ctypes.c_int) == 8:
|
|
- return "int"
|
|
- else:
|
|
- raise ValueError()
|
|
-
|
|
- except ValueError:
|
|
- return "long long int"
|
|
+def pkgconfig(*packages, **kw):
|
|
+ flag_map = {'-I': 'include_dirs', '-L': 'library_dirs', '-l': 'libraries'}
|
|
+ arg = "--libs --cflags --modversion %s" % ' '.join(packages)
|
|
+ for tok in Popen(["pkg-config "+ arg],stdout=PIPE, shell=True).communicate()[0].split():
|
|
+ token = tok.decode("utf-8")
|
|
+ if(match("[0-9]",token)):
|
|
+ kw.setdefault("version",[]).append(token)
|
|
+ else:
|
|
+ kw.setdefault(flag_map.get(token[:2]), []).append(token[2:])
|
|
+ return kw
|
|
|
|
-h_file = StringIO()
|
|
-h_file.write("""
|
|
-/* WCSLIB library version number. */
|
|
-#define WCSLIB_VERSION %s
|
|
-
|
|
-/* 64-bit integer data type. */
|
|
-#define WCSLIB_INT64 %s
|
|
-""" % (WCSVERSION, determine_64_bit_int()))
|
|
-write_if_different(join(srcroot, 'src', 'wcsconfig.h'), h_file.getvalue())
|
|
+WCSLIB = pkgconfig('wcslib')
|
|
+WCSVERSION = Popen(["pkg-config --modversion"],stdout=PIPE, shell=True).communicate()[0].split()
|
|
|
|
######################################################################
|
|
# GENERATE DOCSTRINGS IN C
|
|
+
|
|
+######################################################################
|
|
docstrings = {}
|
|
with open(join(srcroot, 'doc', 'docstrings.py'), 'rb') as fd:
|
|
docstrings_content = fd.read()
|
|
@@ -233,7 +186,8 @@
|
|
|
|
######################################################################
|
|
# DISTUTILS SETUP
|
|
-libraries = []
|
|
+libraries = WCSLIB['libraries']
|
|
+include_dirs = [numpy_include, join(srcroot, "src")] + WCSLIB['include_dirs']
|
|
define_macros = [('ECHO', None),
|
|
('WCSTRIG_MACRO', None),
|
|
('PYWCS_BUILD', None),
|
|
@@ -282,13 +236,8 @@
|
|
|
|
PYWCS_EXTENSIONS = [
|
|
Extension('pywcs._pywcs',
|
|
- WCSFILES + PYWCS_SOURCES,
|
|
- include_dirs =
|
|
- [numpy_include,
|
|
- join(srcroot, WCSLIBC),
|
|
- WCSLIBC,
|
|
- join(srcroot, "src")
|
|
- ],
|
|
+ PYWCS_SOURCES,
|
|
+ include_dirs=include_dirs,
|
|
define_macros=define_macros,
|
|
undef_macros=undef_macros,
|
|
extra_compile_args=extra_compile_args,
|
|
@@ -309,7 +258,6 @@
|
|
'ext_modules' : PYWCS_EXTENSIONS,
|
|
'data_files' : [
|
|
( 'pywcs/include', ['src/*.h']),
|
|
- ( 'pywcs/include/wcslib', [ WCSLIBC + '/*.h'] ),
|
|
( 'pywcs/tests/maps', ['lib/pywcs/tests/maps/*.hdr']),
|
|
( 'pywcs/tests/spectra', ['lib/pywcs/tests/spectra/*.hdr']),
|
|
( 'pywcs/tests/data', ['lib/pywcs/tests/data/*.hdr'])
|