]> git.pld-linux.org Git - packages/python-psycopg2.git/blobdiff - python-psycopg2.spec
Up to 2.8.6
[packages/python-psycopg2.git] / python-psycopg2.spec
index 8fb3dab2eacc5fd3c82d17808703592660c16731..7edfb31771381eddd873fd433f546a4480a36396 100644 (file)
@@ -1,33 +1,47 @@
+# TODO:
+# - lib64 patch
 
-%include       /usr/lib/rpm/macros.python
-%define        module psycopg
+# Conditional build:
+%bcond_without  python2 # CPython 2.x module
+%bcond_without  python3 # CPython 3.x module
 
+%define                module  psycopg2
 Summary:       psycopg is a PostgreSQL database adapter for Python
-Summary(pl):   psycopg jest przeznaczonym dla Pythona interfejsem do bazy PostgreSQL
+Summary(pl.UTF-8):     psycopg jest przeznaczonym dla Pythona interfejsem do bazy PostgreSQL
 Name:          python-%{module}
-Version:       1.1.9
-Release:       3
+Version:       2.8.6
+Release:       1
 License:       GPL
 Group:         Libraries/Python
-Source0:       http://initd.org/pub/software/%{module}/%{module}-%{version}.tar.gz
-# Source0-md5: 3a8ab26a7b9d83c179675866e7d6d414
-Patch0:                %{name}-dumb-ac-fix.patch
-URL:           http://www.initd.org/software/psycopg/
+Source0:       https://pypi.debian.net/%{module}/%{module}-%{version}.tar.gz
+# Source0-md5: ae2ff92f1cfcd890bd5f09f4d1d7d60c
+#Patch0:               %{name}-lib64.patch
+URL:           https://www.psycopg.org/
+BuildRequires: rpmbuild(macros) >= 1.710
+BuildRequires: autoconf
 BuildRequires: postgresql-backend-devel
-BuildRequires: python-devel
-BuildRequires: python-mx-DateTime-devel
+BuildRequires: postgresql-devel
+%{?with_python2:BuildRequires: python-devel >= 2.5}
+%{?with_python3:BuildRequires: python3-devel}
+BuildRequires: rpm-pythonprov
 Requires:      postgresql-libs
-%pyrequires_eq python-modules
+Requires:      python-modules
+Requires:      python-pytz
+%if "%{pld_release}" == "ac"
+BuildRequires: python-mx-DateTime-devel
 Requires:      python-mx-DateTime
+%else
+# if somebody really needs mx.DateTime, then one can request mx.Datetime
+# usage on runtime;
+# it is pointless to use 'Requires' or 'Suggest' field because
+# - python provides its own datetime implementation
+# - one can request it on runtime (as said above)
+# - usage of mx.DateTime type is application specific
+# Sure, but make mx-DateTime conditional build work
+BuildConflicts:        python-egenix-mx-base
+%endif
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
-%define prod_name ZPsycopgDA
-%define zope_dir          %{_libdir}/zope
-%define zope_productsdir   %{zope_dir}/Products
-%define python_compile_opt python -O -c "import compileall; compileall.compile_dir('.')"
-%define python_compile     python -c "import compileall; compileall.compile_dir('.')"
-
-
 %description
 psycopg is a PostgreSQL database adapter for the Python programming
 language (just like pygresql and popy.) It was written from scratch
@@ -35,63 +49,82 @@ with the aim of being very small and fast, and stable as a rock. The
 main advantages of psycopg are that it supports the full Python
 DBAPI-2.0 and being thread safe at level 2.
 
-%description -l pl
+%description -l pl.UTF-8
 psycopg jest przeznaczonym dla Pythona interfejsem do bazy danych
-PostgreSQL (tak jak pygresql i popy). Zosta³ zakodowany od pocz±tku
-z za³o¿eniem ¿e ma byæ bardzo ma³y, szybki i stabilny. G³ówna zalet±
-psycopg jest, ¿e w jest pe³ni zgodny z standardem DBAPI-2.0 i jest
+PostgreSQL (tak jak pygresql i popy). Został zakodowany od początku z
+założeniem że ma być bardzo mały, szybki i stabilny. Główna zaletą
+psycopg jest, że w jest pełni zgodny z standardem DBAPI-2.0 i jest
 'thread safe' na poziomie 2.
 
-%package -n Zope-%{prod_name}
-Summary:       Zope PostgreSQL database adapter
-Summary(pl):   Interfejs bazy danych PostgreSQL do Zope
-Group:         Development/Languages/Python
-Requires:      Zope
-Requires:      %{name} = %{version}
-BuildArch:     noarch
-BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+%package -n python3-%{module}
+Summary:       psycopg is a PostgreSQL database adapter for Python
+Summary(pl.UTF-8):     psycopg jest przeznaczonym dla Pythona interfejsem do bazy PostgreSQL
+Group:         Libraries/Python
+Requires:      python3-modules
+Requires:      python3-pytz
 
-%description -n Zope-%{prod_name}
-Zope PostgreSQL database adapter.
+%description -n python3-%{module}
+psycopg is a PostgreSQL database adapter for the Python programming
+language (just like pygresql and popy.) It was written from scratch
+with the aim of being very small and fast, and stable as a rock. The
+main advantages of psycopg are that it supports the full Python
+DBAPI-2.0 and being thread safe at level 2.
 
-%description -n Zope-%{prod_name} -l pl
-Interfejs bazy danych PostgreSQL do Zope.
+%description -n python3-%{module} -l pl.UTF-8
+psycopg jest przeznaczonym dla Pythona interfejsem do bazy danych
+PostgreSQL (tak jak pygresql i popy). Został zakodowany od początku z
+założeniem że ma być bardzo mały, szybki i stabilny. Główna zaletą
+psycopg jest, że w jest pełni zgodny z standardem DBAPI-2.0 i jest
+'thread safe' na poziomie 2.
 
 %prep
 %setup -q -n %{module}-%{version}
-%patch0 -p1
+#%if "%{_lib}" == "lib64"
+#%patch0 -p1
+#%endif
 
 %build
-%{__autoconf}
-
-%configure \
-       --with-python=%{_bindir}/python \
-       --with-mxdatetime-includes=%{py_incdir}/mx \
-       --with-postgres-includes=%{_includedir}/postgresql/server
-%{__make}
-
-cd %{prod_name}
-%{python_compile}
-%{python_compile_opt}
-cd ..
+%if %{with python2}
+%py_build
+%endif
+%if %{with python3}
+%py3_build
+%endif
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{py_sitedir},%{zope_productsdir}/%{prod_name}}
+%if %{with python2}
+%py_install
 
-install psycopgmodule.so $RPM_BUILD_ROOT%{py_sitedir}
-
-cp -ar %{prod_name}/* $RPM_BUILD_ROOT%{zope_productsdir}/%{prod_name}
-rm -f $RPM_BUILD_ROOT%{zope_productsdir}/%{prod_name}/*.py
+%py_postclean
+%endif
+%if %{with python3}
+%py3_install
+%endif
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
+%if %{with python2}
 %files
 %defattr(644,root,root,755)
-%doc AUTHORS CREDITS FAQ NEWS README RELEASE-1.0 SUCCESS TODO doc
-%attr(755,root,root) %{py_sitedir}/*.so
-
-%files -n Zope-%{prod_name}
+%doc NEWS AUTHORS doc/SUCCESS
+%dir %{py_sitedir}/%{module}
+%attr(755,root,root) %{py_sitedir}/%{module}/*.so
+%{py_sitedir}/%{module}/*.py[co]
+%if "%{pld_release}" != "ac"
+%{py_sitedir}/*.egg-info
+%endif
+%endif
+
+%if %{with python3}
+%files -n python3-%{module}
 %defattr(644,root,root,755)
-%{zope_productsdir}/%{prod_name}
+%doc NEWS AUTHORS doc/SUCCESS
+%dir %{py3_sitedir}/%{module}
+%dir %{py3_sitedir}/%{module}/__pycache__
+%attr(755,root,root) %{py3_sitedir}/%{module}/*.so
+%{py3_sitedir}/%{module}/*.py
+%{py3_sitedir}/%{module}/__pycache__/*.py*
+%{py3_sitedir}/*.egg-info
+%endif
This page took 0.435079 seconds and 4 git commands to generate.