[pyproj] Initial import (#855528).

Jos de Kloe jdekloe at fedoraproject.org
Thu Oct 18 20:16:16 UTC 2012


commit 41deeb19bc43ac168e3ebda960fcc2c64575e3e2
Author: Jos de Kloe <josdekloe at gmail.com>
Date:   Thu Oct 18 22:15:46 2012 +0200

    Initial import (#855528).

 .gitignore  |    1 +
 pyproj.spec |  170 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 sources     |    1 +
 3 files changed, 172 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e69de29..95d644b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/pyproj-1.9.2-20120712svn300.tar.gz
diff --git a/pyproj.spec b/pyproj.spec
new file mode 100644
index 0000000..d442a8b
--- /dev/null
+++ b/pyproj.spec
@@ -0,0 +1,170 @@
+# pyproj 1.9 only works with Proj 4.8. 1.8.9 works with 4.7.
+
+# This module works with Python 3
+%if 0%{?fedora} || 0%{?rhel} > 6
+%global with_python3 1
+%endif
+
+%global svn 20120712svn300
+
+Name:           pyproj
+Version:        1.9.2
+Release:        5.%{svn}%{?dist}
+Summary:        Cython wrapper to provide python interfaces to Proj
+
+Group:          Development/Libraries
+License:        MIT
+URL:            http://code.google.com/p/pyproj
+#Source0:        http://%{name}.googlecode.com/files/%{name}-%{version}.tar.gz
+
+# The source for this package was pulled from upstream's vcs.  Use the
+# following commands to generate the tarball:
+#  svn export -r 300 http://pyproj.googlecode.com/svn/trunk/ pyproj-1.9.2
+#  tar -zcvf pyproj-1.9.2-20120712svn300.tar.gz pyproj-1.9.2
+Source0: %{name}-%{version}-%{svn}.tar.gz
+
+BuildRequires:  python2-devel
+BuildRequires:  python-setuptools
+BuildRequires:  numpy
+BuildRequires:  Cython
+BuildRequires:  proj-devel = 4.8.0
+%if 0%{?with_python3}
+BuildRequires:  python3-devel
+BuildRequires:  python3-setuptools
+BuildRequires:  python3-numpy
+%endif # if with_python3
+
+Requires:  proj-nad
+
+# avoid providing the private libs:
+%{?filter_setup:
+%filter_provides_in %{python_sitearch}.*\.so$
+%filter_setup
+}
+
+%if 0%{?with_python3}
+%{?filter_setup:
+%filter_provides_in %{python3_sitearch}.*\.so$
+%filter_setup
+}
+%endif # if with_python3
+
+
+%description
+Cython wrapper to provide python interfaces to Proj
+
+Performs cartographic transformations between geographic (Lat/Lon)
+and map projection (x/y) coordinates. Can also transform directly
+from one map projection coordinate system to another.
+Coordinates can be given as numpy arrays, python arrays, lists or scalars.
+Optimized for numpy arrays.
+
+
+%if 0%{?with_python3}
+%package -n python3-%{name}
+Summary:        Cython wrapper to provide python 3 interfaces to Proj
+
+%description -n python3-%{name}
+Cython wrapper to provide python 3 interfaces to Proj
+
+Performs cartographic transformations between geographic (Lat/Lon)
+and map projection (x/y) coordinates. Can also transform directly
+from one map projection coordinate system to another.
+Coordinates can be given as numpy arrays, python arrays, lists or scalars.
+Optimized for numpy arrays.
+
+%endif # if with_python3
+
+
+%prep
+%setup -q
+
+# Delete proj sources, Cython generated file and proj data
+rm -rf src
+rm -f nad2bin.c
+rm -f _proj.c
+rm -rf lib/%{name}/data
+
+# copy sources to py3dir to not interfere with py2 build
+# and if needed modify #! lines of *.py files
+%if 0%{?with_python3}
+rm -rf %{py3dir}
+cp -a . %{py3dir}
+find %{py3dir} -name '*.py' | xargs sed -i '1s|^#!python|#!%{__python3}|'
+%endif # if with_python3
+
+
+# Generate Cython C code
+cython _proj.pyx
+
+%if 0%{?with_python3}
+pushd %{py3dir}
+cython -3 _proj.pyx
+%endif # if with_python3
+
+%build
+export PROJ_DIR="%{_usr}/"
+CFLAGS="$RPM_OPT_FLAGS" %{__python} setup-proj.py build
+
+%if 0%{?with_python3}
+pushd %{py3dir}
+CFLAGS="$RPM_OPT_FLAGS" %{__python3} setup-proj.py build
+%endif # if with_python3
+
+%install
+%{__python} setup-proj.py install --skip-build --root %{buildroot}
+
+# correct wrong write permission for group
+chmod 755  %{buildroot}/%{python_sitearch}/%{name}/*.so
+
+%if 0%{?with_python3}
+pushd %{py3dir}
+%{__python3} setup-proj.py install --skip-build --root %{buildroot}
+
+# correct wrong write permission for group
+chmod 755  %{buildroot}/%{python3_sitearch}/%{name}/*.so
+
+%endif # if with_python3
+
+%check
+
+# could be a call to: python test/test.py
+# but this seems not a real test script, just a demonstration of 
+# how to call the library. No expected outputs or other such
+# checks are implemented at the moment.
+# Therefore no check section has been defined for now.
+
+%files
+%doc Changelog docs README
+%{python_sitearch}/%{name}
+%{python_sitearch}/%{name}-*-py*.egg-info
+
+# note: the provided create_docs.sh script would suggest that
+# epydoc is needed to build the docs in subdir docs. However
+# the upstream author has already run this tool and has added
+# the resulting files to svn, so this is not needed during
+# rpm creation after all.
+
+%if 0%{?with_python3}
+%files -n python3-%{name}
+%doc Changelog docs README
+%{python3_sitearch}/%{name}
+%{python3_sitearch}/%{name}-*-py*.egg-info
+%endif # with_python3
+
+
+%changelog
+* Wed Jul 12 2012 Jos de Kloe <josdekloe at gmail.com> 1.9.2-5.20120712svn300
+o- adapted version number format to comply to the Snapshot packages 
+   guidelines, and move to svn revision 300.
+* Wed Jun 20 2012 Jos de Kloe <josdekloe at gmail.com> 1.9.2-4.r298
+o- Added proj-nad as explicit Requirement since it contains data files needed
+   to run the module, and bumped the version number to the one mentioned in 
+   the setup-proj.py script
+* Fri Jun 15 2012 Jos de Kloe <josdekloe at gmail.com> 1.9.0-3.r298
+o- Adapted to build with python3
+* Wed May 31 2012 Jos de Kloe <josdekloe at gmail.com> 1.9.0-2.r298
+o- Adapted to svn revision r298 which has some modifications
+   to allow building without using the included proj sources
+* Mon Apr 23 2012 Volker Fröhlich <volker27 at gmx.at> - 1.9.0-1
+o- Initial package for Fedora
diff --git a/sources b/sources
index e69de29..b6abdfa 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+f78746e2ed3cbd92d1c05a9f7dd6ee60  pyproj-1.9.2-20120712svn300.tar.gz


More information about the scm-commits mailing list