]> git.pld-linux.org Git - packages/ktoblzcheck.git/commitdiff
- updated to 1.53 (uses cmake now); added python3- package master auto/th/ktoblzcheck-1.53-1
authorJakub Bogusz <qboosh@pld-linux.org>
Sat, 28 Oct 2023 10:54:03 +0000 (12:54 +0200)
committerJakub Bogusz <qboosh@pld-linux.org>
Sat, 28 Oct 2023 10:54:03 +0000 (12:54 +0200)
ktoblzcheck-python.patch [new file with mode: 0644]
ktoblzcheck-static.patch [new file with mode: 0644]
ktoblzcheck.spec

diff --git a/ktoblzcheck-python.patch b/ktoblzcheck-python.patch
new file mode 100644 (file)
index 0000000..2aa14c6
--- /dev/null
@@ -0,0 +1,28 @@
+--- ktoblzcheck-1.53/CMakeLists.txt.orig       2023-10-28 10:56:58.032206936 +0200
++++ ktoblzcheck-1.53/CMakeLists.txt    2023-10-28 11:01:35.357371203 +0200
+@@ -82,7 +82,7 @@ find_package (Python3 COMPONENTS Interpr
+ if(Python3_FOUND)
+     set(Python_EXECUTABLE ${Python3_EXECUTABLE})
+     string(REGEX REPLACE "^([0-9]+.[0-9]+).*" "\\1" Python_VERSION_MAJOR_MINOR ${Python3_VERSION})
+-    set(Python_SITEARCH "${CMAKE_INSTALL_LIBDIR}/python${Python_VERSION_MAJOR_MINOR}/site-packages")
++    set(Python_SITEARCH "${CMAKE_INSTALL_DATADIR}/python${Python_VERSION_MAJOR_MINOR}/site-packages")
+     set(Python_Interpreter_FOUND TRUE)
+     set(Python_Development_FOUND TRUE)
+ else()
+@@ -98,14 +98,14 @@ else()
+     endif()
+     if(Python2_Development_FOUND)
+         string(REGEX REPLACE "^([0-9]+.[0-9]+).*" "\\1" Python_VERSION_MAJOR_MINOR ${Python2_VERSION})
+-        set(Python_SITEARCH "${CMAKE_INSTALL_LIBDIR}/python${Python_VERSION_MAJOR_MINOR}/site-packages")
++      set(Python_SITEARCH "${CMAKE_INSTALL_DATADIR}/python${Python_VERSION_MAJOR_MINOR}/site-packages")
+         set(Python_Development_FOUND TRUE)
+     else()
+         find_package(PythonLibs 2.6 REQUIRED)
+         set(Python_Development_FOUND TRUE)
+         set(Python2_VERSION ${PYTHONLIBS_VERSION_STRING})
+         string(REGEX REPLACE "^([0-9]+.[0-9]+).*" "\\1" Python_VERSION_MAJOR_MINOR ${Python2_VERSION})
+-        set(Python_SITEARCH "${CMAKE_INSTALL_LIBDIR}/python${Python_VERSION_MAJOR_MINOR}/site-packages")
++      set(Python_SITEARCH "${CMAKE_INSTALL_DATADIR}/python${Python_VERSION_MAJOR_MINOR}/site-packages")
+     endif()
+ endif()
+ ########### configure checks ###############
diff --git a/ktoblzcheck-static.patch b/ktoblzcheck-static.patch
new file mode 100644 (file)
index 0000000..b714bf7
--- /dev/null
@@ -0,0 +1,27 @@
+Let BUILD_STATIC enable just static libktoblzcheck library
+--- ktoblzcheck-1.53/CMakeLists.txt.orig       2020-04-20 14:58:13.000000000 +0200
++++ ktoblzcheck-1.53/CMakeLists.txt    2023-10-28 10:50:05.477775268 +0200
+@@ -17,10 +17,6 @@ set(BANK_WEBSITE_PATH /de/aufgaben/unbar
+ option(INSTALL_SEPA_BANKDATA_FILE "Install sepa provider data file in csv format" OFF)
+ option(BUILD_STATIC "build static library and executables" OFF)
+-if(BUILD_STATIC)
+-    set(LIBS -static -static-libgcc -static-libstdc++)
+-    set(CMAKE_BUILD_TYPE Release)
+-endif()
+ # provide gnu compatible install dirs
+ include(GNUInstallDirs)
+--- ktoblzcheck-1.53/src/bin/CMakeLists.txt.orig       2020-04-20 14:57:36.000000000 +0200
++++ ktoblzcheck-1.53/src/bin/CMakeLists.txt    2023-10-28 10:50:13.601064594 +0200
+@@ -5,10 +5,6 @@ set(ktoblzcheck_bin_SRCS ktoblzcheck.cc)
+ add_executable(ktoblzcheck-bin ${ktoblzcheck_bin_SRCS})
+ target_link_libraries(ktoblzcheck-bin ktoblzcheck)
+ set_target_properties(ktoblzcheck-bin PROPERTIES OUTPUT_NAME ktoblzcheck)
+-if(BUILD_STATIC)
+-    # strip executables
+-    set(CMAKE_EXE_LINKER_FLAGS_RELEASE -s)
+-endif()
+ install(TARGETS ktoblzcheck-bin DESTINATION bin)
index ca9cdedf75d17cf7b62c59143fc4db421ad08bcb..b52c3048f07d8112acceb601f516db1f77ee3d5c 100644 (file)
@@ -1,20 +1,28 @@
 #
 # Conditional build:
 %bcond_without static_libs     # static library
+%bcond_without python2         # CPython 2.x module
 #
 Summary:       A library to check account numbers and bank codes of German banks
 Summary(pl.UTF-8):     Biblioteka do sprawdzania numerów kont i kodów bankowych niemieckich banków
 Name:          ktoblzcheck
-Version:       1.48
+Version:       1.53
 Release:       1
 License:       LGPL v2+
 Group:         Libraries
-Source0:       http://downloads.sourceforge.net/ktoblzcheck/%{name}-%{version}.tar.gz
-# Source0-md5: 6f56c83a649cbdaf1aad3e04a7b7a8ce
-URL:           http://ktoblzcheck.sourceforge.net/
+Source0:       https://downloads.sourceforge.net/ktoblzcheck/%{name}-%{version}.tar.gz
+# Source0-md5: 5cedb258370acd22ec3d0c90e0e66fec
+Patch0:                %{name}-static.patch
+Patch1:                %{name}-python.patch
+URL:           https://ktoblzcheck.sourceforge.net/
+BuildRequires: cmake >= 3.0
+BuildRequires: doxygen
 BuildRequires: libstdc++-devel
-BuildRequires: python-devel >= 1:2.5
+%{?with_python2:BuildRequires: python-modules >= 1:2.6}
+BuildRequires: python3-devel >= 1:3.2
+BuildRequires: rpm-build >= 4.6
 BuildRequires: rpm-pythonprov
+BuildRequires: rpmbuild(macros) >= 1.714
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
@@ -60,12 +68,24 @@ Static KtoBLZCheck library.
 %description static -l pl.UTF-8
 Statyczna biblioteka KtoBLZCheck.
 
+%package apidocs
+Summary:       API documentation for KtoBLZCheck library
+Summary(pl.UTF-8):     Dokumentacja API biblioteki KtoBLZCheck
+Group:         Documentation
+BuildArch:     noarch
+
+%description apidocs
+API documentation for KtoBLZCheck library.
+
+%description apidocs -l pl.UTF-8
+Dokumentacja API biblioteki KtoBLZCheck.
+
 %package -n python-ktoblzcheck
-Summary:       Python binding for KtoBLZCheck library
-Summary(pl.UTF-8):     Wiązanie Pythona dla biblioteki KtoBLZCheck
+Summary:       Python binding for KtoBLZCheck library
+Summary(pl.UTF-8):     Wiązanie Pythona dla biblioteki KtoBLZCheck
 Group:         Development/Languages/Python
 Requires:      %{name} = %{version}-%{release}
-Requires:      python-modules >= 1:2.5
+Requires:      python-modules >= 1:2.6
 
 %description -n python-ktoblzcheck
 Python binding for KtoBLZCheck library.
@@ -73,25 +93,75 @@ Python binding for KtoBLZCheck library.
 %description -n python-ktoblzcheck -l pl.UTF-8
 Wiązanie Pythona dla biblioteki KtoBLZCheck.
 
+%package -n python3-ktoblzcheck
+Summary:       Python 3 binding for KtoBLZCheck library
+Summary(pl.UTF-8):     Wiązanie Pythona 3 dla biblioteki KtoBLZCheck
+Group:         Development/Languages/Python
+Requires:      %{name} = %{version}-%{release}
+Requires:      python3-modules >= 1:3.2
+
+%description -n python3-ktoblzcheck
+Python binding for KtoBLZCheck library.
+
+%description -n python3-ktoblzcheck -l pl.UTF-8
+Wiązanie Pythona dla biblioteki KtoBLZCheck.
+
 %prep
 %setup -q
+%patch0 -p1
+%patch1 -p1
+
+# drop pythondir, wrongly joined
+%{__sed} -i -e '/^pythondir=/d' ktoblzcheck.pc.in
 
 %build
-%configure \
-       --enable-python \
-       %{?with_static_libs:--enable-static}
+%if %{with static_libs}
+install -d build-static
+cd build-static
+%cmake .. \
+       -DBUILD_STATIC=ON \
+       -DENABLE_BANKDATA_DOWNLOAD=OFF
+
+%{__make}
+cd ..
+%endif
+
+install -d build
+cd build
+%cmake .. \
+       -DCMAKE_INSTALL_BINDIR=bin \
+       -DCMAKE_INSTALL_DATADIR=share \
+       -DCMAKE_INSTALL_INCLUDEDIR=include \
+       -DCMAKE_INSTALL_LIBDIR=%{_lib} \
+       -DENABLE_BANKDATA_DOWNLOAD=OFF
+
 %{__make}
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
-%{__make} install \
+%if %{with static_libs}
+%{__make} -C build-static install \
+       DESTDIR=$RPM_BUILD_ROOT
+
+# use the one from shared build
+%{__rm} $RPM_BUILD_ROOT%{_pkgconfigdir}/ktoblzcheck.pc
+%endif
+
+%{__make} -C build install \
        DESTDIR=$RPM_BUILD_ROOT
 
-# obsoleted by pkg-config
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/libktoblzcheck.la
+%py3_comp $RPM_BUILD_ROOT%{py3_sitescriptdir}
+%py3_ocomp $RPM_BUILD_ROOT%{py3_sitescriptdir}
 
+%if %{with python2}
+# module supports CPython 2.6+, but cmake prefers python3, in such case python2 module must be installed manually
+install -d $RPM_BUILD_ROOT%{py_sitescriptdir}
+cp -p src/python/ktoblzcheck.py $RPM_BUILD_ROOT%{py_sitescriptdir}
+%py_comp $RPM_BUILD_ROOT%{py_sitescriptdir}
+%py_ocomp $RPM_BUILD_ROOT%{py_sitescriptdir}
 %py_postclean
+%endif
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -101,13 +171,14 @@ rm -rf $RPM_BUILD_ROOT
 
 %files
 %defattr(644,root,root,755)
-%doc AUTHORS ChangeLog NEWS README
+%doc AUTHORS ChangeLog NEWS README.md
+%attr(755,root,root) %{_bindir}/ibanchk
 %attr(755,root,root) %{_bindir}/ktoblzcheck
 %attr(755,root,root) %{_libdir}/libktoblzcheck.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir}/libktoblzcheck.so.1
 %dir %{_datadir}/%{name}
 %{_datadir}/%{name}/*.txt
-%attr(755,root,root) %{_datadir}/%{name}/*.pl
+%{_mandir}/man1/ibanchk.1*
 %{_mandir}/man1/ktoblzcheck.1*
 
 %files devel
@@ -115,6 +186,7 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir}/libktoblzcheck.so
 %{_includedir}/iban.h
 %{_includedir}/ktoblzcheck.h
+%{_libdir}/cmake/KtoBlzCheck
 %{_pkgconfigdir}/ktoblzcheck.pc
 
 %if %{with static_libs}
@@ -123,6 +195,17 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/libktoblzcheck.a
 %endif
 
+%files apidocs
+%defattr(644,root,root,755)
+%{_docdir}/ktoblzcheck
+
+%if %{with python2}
 %files -n python-ktoblzcheck
 %defattr(644,root,root,755)
 %{py_sitescriptdir}/ktoblzcheck.py[co]
+%endif
+
+%files -n python3-ktoblzcheck
+%defattr(644,root,root,755)
+%{py3_sitescriptdir}/ktoblzcheck.py
+%{py3_sitescriptdir}/__pycache__/ktoblzcheck.cpython-*.py[co]
This page took 0.180268 seconds and 4 git commands to generate.