finance/ktoblzcheck: Update to 1.59

The bank data is now a separate project to thematically distinguish it
from the libraries and applications, and to simplify the build system:
finance/ktoblzcheck-data
This commit is contained in:
Jason E. Hale 2025-06-27 17:13:21 -04:00
parent 528ed03356
commit fb53adf40f
13 changed files with 115 additions and 75 deletions

View File

@ -5,6 +5,16 @@ they are unavoidable.
You should get into the habit of checking this file for changes each time You should get into the habit of checking this file for changes each time
you update your ports collection, before attempting any port upgrades. you update your ports collection, before attempting any port upgrades.
20250627:
AFFECTS: users of finance/ktoblzcheck
AUTHOR: jhale@FreeBSD.org
The bank data databases have been moved to finance/ktoblzcheck-data.
It may be necessary to remove ktoblzcheck < 1.59 before upgrading to
avoid conflicts.
pkg delete -f ktoblzcheck
20250622: 20250622:
AFFECTS: users of net-mgmt/netbox AFFECTS: users of net-mgmt/netbox
AUTHOR: kai@FreeBSD.org AUTHOR: kai@FreeBSD.org

View File

@ -44,6 +44,7 @@
SUBDIR += kmymoney SUBDIR += kmymoney
SUBDIR += kraft SUBDIR += kraft
SUBDIR += ktoblzcheck SUBDIR += ktoblzcheck
SUBDIR += ktoblzcheck-data
SUBDIR += ledger SUBDIR += ledger
SUBDIR += ledgersmb12 SUBDIR += ledgersmb12
SUBDIR += libbtc SUBDIR += libbtc

View File

@ -0,0 +1,55 @@
PORTNAME= ktoblzcheck
PORTVERSION= 1.0.0.${BANKDATA_START_DATE}
CATEGORIES= finance
MASTER_SITES= SF/${PORTNAME} \
LOCAL/jhale/${PORTNAME}:bankdata
PKGNAMESUFFIX= -data
DISTFILES= ${PORTNAME}${PKGNAMESUFFIX}-${KBCD_DATE}${EXTRACT_SUFX} \
${PORTNAME}-bankdata-${BANKDATA_START_DATE}${EXTRACT_SUFX}:bankdata
MAINTAINER= jhale@FreeBSD.org
COMMENT= Bank data used by ktoblzcheck
WWW= https://ktoblzcheck.sourceforge.net/
# Project does not specify a license for the resulting databases, but the data
# files it processes are in the public domain.
LICENSE= PD
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}openpyxl>0:textproc/py-openpyxl@${PY_FLAVOR}
USES= cmake python:build
CMAKE_ARGS= -DDATA_FILEPATH_sepa:PATH="../data/sepa_${BANKDATA_START_DATE}.txt"
CMAKE_ON= INSTALL_RAW_BANKDATA_FILE \
INSTALL_SEPA_BANKDATA_FILE
CMAKE_OFF= ENABLE_BANKDATA_DOWNLOAD
WRKSRC= ${WRKDIR}/${PORTNAME}${PKGNAMESUFFIX}-${KBCD_DATE}
PLIST_SUB= BANKDATA_START_DATE=${BANKDATA_START_DATE}
# Custom: Upstream ships a dated a distfile, but will most likely not contain
# the most recent bank data. This is just used for build system changes.
KBCD_DATE= 20250515
# Custom: This is the date when the bank data is officially recocognized and
# supported.
BANKDATA_START_DATE= 20250609
# Custom: This is the date when the bank data is officially void and can no
# longer be relied upon.
BANKDATA_END_DATE= 20250907
post-extract:
# Out of an abundance of caution, remove the pre-built DBs and shipped SEPA data.
(cd ${WRKSRC}/data && ${RM} bankdata* sepa*)
# Populate ${WRKSRC}/data with the contents of our bankdata archive.
.for f in blz_${BANKDATA_START_DATE}.txt ch_data.txt nl_data.xlsx sepa_${BANKDATA_START_DATE}.txt
${CP} ${WRKDIR}/${PORTNAME}-bankdata-${BANKDATA_START_DATE}/${f} ${WRKSRC}/data
.endfor
post-patch:
# See comment in files/patch-src_CMakeLists.txt.
@${REINPLACE_CMD} -e 's|%%BANKDATA_END_DATE%%|'"$$(date -j -f "%Y%m%d" "+%d.%m.%Y" ${BANKDATA_END_DATE})"'|' \
${WRKSRC}/src/CMakeLists.txt
.include <bsd.port.mk>

View File

@ -0,0 +1,5 @@
TIMESTAMP = 1751008153
SHA256 (ktoblzcheck-data-20250515.tar.gz) = 307479cd3c487ba6d6c4f5966634a6023c1f29d4386b93a5e96cea7541bebe4c
SIZE (ktoblzcheck-data-20250515.tar.gz) = 267821
SHA256 (ktoblzcheck-bankdata-20250609.tar.gz) = 36d9a5ea5c3e7b1183d8fe2f24658d7e50ac3686b14573b17f9f46cf04388065
SIZE (ktoblzcheck-bankdata-20250609.tar.gz) = 510238

View File

@ -0,0 +1,17 @@
Set VALID_END_DATE via the port Makefile. This would otherwise only be set
if the CMake argument ENABLE_BANKDATA_DOWNLOAD is true, but we cannot download
files during the build process. This value needs to be defined as the last day
the bank data is valid in %d.%m.%Y format to enable the custom commands/targets
that build that databases.
--- src/CMakeLists.txt.orig 2025-05-15 11:18:20 UTC
+++ src/CMakeLists.txt
@@ -40,7 +40,7 @@ message(STATUS "Using bank data db ${BANKDATA_TEST_DBP
message(STATUS "Using bank data db ${BANKDATA_CH_DBPATH}")
message(STATUS "Using bank data db ${BANKDATA_TEST_DBPATH}")
-set(VALID_END_DATE "")
+set(VALID_END_DATE "%%BANKDATA_END_DATE%%")
if(ENABLE_BANKDATA_DOWNLOAD)
extract_date(

View File

@ -0,0 +1,4 @@
ktoblzcheck-data converts raw bank code data published by several
financial institutions including Deutsche Bundesbank, SIX Group, and
Betaalvereniging Nederland, into SQLite databases used by the ktoblzcheck
library.

View File

@ -0,0 +1,6 @@
%%DATADIR%%/bankdata.ch.db
%%DATADIR%%/bankdata.de.db
%%DATADIR%%/bankdata.nl.db
%%DATADIR%%/blz_%%BANKDATA_START_DATE%%.txt
%%DATADIR%%/ibandata.txt
%%DATADIR%%/sepa_%%BANKDATA_START_DATE%%.txt

View File

@ -1,33 +1,26 @@
PORTNAME= ktoblzcheck PORTNAME= ktoblzcheck
PORTVERSION= 1.57 PORTVERSION= 1.59
PORTREVISION= 3 CATEGORIES= finance
CATEGORIES= finance german MASTER_SITES= SF/${PORTNAME}
MASTER_SITES= SF/${PORTNAME} \
LOCAL/jhale/${PORTNAME}:bankdata
DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \
${PORTNAME}-bankdata-${BANKDATA_DATE}${EXTRACT_SUFX}:bankdata
MAINTAINER= jhale@FreeBSD.org MAINTAINER= jhale@FreeBSD.org
COMMENT= Check bank codes of German banks COMMENT= Check bank codes of various financial institutions
WWW= https://ktoblzcheck.sourceforge.net/ WWW= https://ktoblzcheck.sourceforge.net/
LICENSE= LGPL21+ LICENSE= LGPL21+
LICENSE_FILE= ${WRKSRC}/COPYING LICENSE_FILE= ${WRKSRC}/COPYING
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}openpyxl>0:textproc/py-openpyxl@${PY_FLAVOR}
LIB_DEPENDS= libcurl.so:ftp/curl LIB_DEPENDS= libcurl.so:ftp/curl
RUN_DEPENDS= ${PORTNAME}-data>=1.0.0.20250609:finance/ktoblzcheck-data
TEST_DEPENDS= ${PORTNAME}-data>=1.0.0.20250609:finance/ktoblzcheck-data
USES= cmake localbase pathfix python:build sqlite USES= cmake:testing localbase pathfix sqlite
USE_LDCONFIG= yes USE_LDCONFIG= yes
CMAKE_OFF= ENABLE_BANKDATA_DOWNLOAD \ CMAKE_ON= CMAKE_DISABLE_FIND_PACKAGE_Python3
INSTALL_RAW_BANKDATA_FILE
PORTDOCS= README.md PORTDOCS= README.md
BANKDATA_DATE= 20241209
OPTIONS_DEFINE= DOCS DOXYGEN OPTIONS_DEFINE= DOCS DOXYGEN
OPTIONS_SUB= yes OPTIONS_SUB= yes
@ -35,16 +28,6 @@ DOXYGEN_BUILD_DEPENDS= doxygen:devel/doxygen \
dot:graphics/graphviz dot:graphics/graphviz
DOXYGEN_CMAKE_BOOL_OFF= CMAKE_DISABLE_FIND_PACKAGE_Doxygen DOXYGEN_CMAKE_BOOL_OFF= CMAKE_DISABLE_FIND_PACKAGE_Doxygen
TEST_TARGET= test
post-patch:
@${CP} ${WRKDIR}/${PORTNAME}-bankdata-${BANKDATA_DATE}/blz_${BANKDATA_DATE}.txt ${WRKSRC}/src/bankdata
@${CP} ${WRKDIR}/${PORTNAME}-bankdata-${BANKDATA_DATE}/ch_data.txt ${WRKSRC}/src/bankdata
@${CP} ${WRKDIR}/${PORTNAME}-bankdata-${BANKDATA_DATE}/nl_data.xlsx ${WRKSRC}/src/bankdata
@${CP} ${WRKDIR}/${PORTNAME}-bankdata-${BANKDATA_DATE}/sepa_${BANKDATA_DATE}.txt ${WRKSRC}/src/bankdata/sepa
@${REINPLACE_CMD} -e 's|%%BANKDATA_DATE%%|'"$$(date -j -f "%Y%m%d" "+%d.%m.%Y" ${BANKDATA_DATE})"'|' \
${WRKSRC}/src/bankdata/CMakeLists.txt
post-install-DOCS-on: post-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR} @${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR} ${INSTALL_DATA} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR}

View File

@ -1,5 +1,3 @@
TIMESTAMP = 1735156937 TIMESTAMP = 1751021858
SHA256 (ktoblzcheck-1.57.tar.gz) = 4c3b782e5d8e31e219c3e2ece0c6e84a93929ae0b2f36080d4c183a644d05672 SHA256 (ktoblzcheck-1.59.tar.gz) = 3cd33880d2425e8fa3be9918c85485514f53e04b0b986bcf7bd003fc53071fa7
SIZE (ktoblzcheck-1.57.tar.gz) = 96788 SIZE (ktoblzcheck-1.59.tar.gz) = 89603
SHA256 (ktoblzcheck-bankdata-20241209.tar.gz) = 9938c764cb01a0a3ce72b29db365e441cbf73b87fa2f288e5bfb197b912d518d
SIZE (ktoblzcheck-bankdata-20241209.tar.gz) = 514266

View File

@ -1,12 +0,0 @@
Disable the Python bindings for now. They could be in a slave port later if
needed, but I am not currently aware of anything that uses them.
--- src/CMakeLists.txt.orig 2020-12-28 00:28:41 UTC
+++ src/CMakeLists.txt
@@ -9,6 +9,3 @@ add_subdirectory(bankdata)
add_subdirectory(include)
add_subdirectory(lib)
add_subdirectory(bin)
-if(Python_Development_FOUND)
- add_subdirectory(python)
-endif()

View File

@ -1,23 +0,0 @@
--- src/bankdata/CMakeLists.txt.orig 2024-01-05 07:31:23 UTC
+++ src/bankdata/CMakeLists.txt
@@ -23,6 +23,7 @@ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/ch_data.cmake "
file(DOWNLOAD \"${CH_RAW_DATA_URL}\" \"${CH_RAW_DATA_PATH}\")
")
+if(ENABLE_BANKDATA_DOWNLOAD)
# fetch validity date from bank's website
function(extract_date ARG)
file(DOWNLOAD ${BANK_WEBSITE_URL} ${TEMP_FILE})
@@ -57,10 +58,10 @@ add_custom_command(
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Download raw bank data file to ${CH_RAW_DATA_PATH}"
)
+endif()
# store the validity date in VALID_DATE
-set(VALID_DATE "")
-extract_date(VALID_DATE)
+set(VALID_DATE "%%BANKDATA_DATE%%")
if(NOT "${VALID_DATE}" STREQUAL "")
add_custom_command(

View File

@ -1,2 +1,2 @@
KtoBLZCheck is a library to check account numbers and bank codes of KtoBLZCheck is a library to check account numbers and bank codes of
German banks. various financial institutions.

View File

@ -31,11 +31,11 @@ libdata/pkgconfig/ktoblzcheck.pc
%%DOXYGEN%%%%DOCSDIR%%/api/classIbanCheck.html %%DOXYGEN%%%%DOCSDIR%%/api/classIbanCheck.html
%%DOXYGEN%%%%DOCSDIR%%/api/classes.html %%DOXYGEN%%%%DOCSDIR%%/api/classes.html
%%DOXYGEN%%%%DOCSDIR%%/api/closed.png %%DOXYGEN%%%%DOCSDIR%%/api/closed.png
%%DOXYGEN%%%%DOCSDIR%%/api/dir_027acad13201f25411f30b3a77f2b006.html
%%DOXYGEN%%%%DOCSDIR%%/api/dir_5a44bfe66872ebd87256b63344bc501a.html %%DOXYGEN%%%%DOCSDIR%%/api/dir_5a44bfe66872ebd87256b63344bc501a.html
%%DOXYGEN%%%%DOCSDIR%%/api/dir_63c478c42e36c4f05959c97623df5ccd.html
%%DOXYGEN%%%%DOCSDIR%%/api/dir_8f1ddfcaba34d370f217a025e0bf2872.html %%DOXYGEN%%%%DOCSDIR%%/api/dir_8f1ddfcaba34d370f217a025e0bf2872.html
%%DOXYGEN%%%%DOCSDIR%%/api/dir_b6310677cdb1a308af776abddf4b17ae.html %%DOXYGEN%%%%DOCSDIR%%/api/dir_b595697878e38297fca870e1c306251b.html
%%DOXYGEN%%%%DOCSDIR%%/api/dir_d3cb94c4c25e21114b6ed199847bcaf5.html
%%DOXYGEN%%%%DOCSDIR%%/api/dir_f36729f1e90a4f37b93d8ff044e485fe.html
%%DOXYGEN%%%%DOCSDIR%%/api/doc.png %%DOXYGEN%%%%DOCSDIR%%/api/doc.png
%%DOXYGEN%%%%DOCSDIR%%/api/docd.png %%DOXYGEN%%%%DOCSDIR%%/api/docd.png
%%DOXYGEN%%%%DOCSDIR%%/api/doxygen.css %%DOXYGEN%%%%DOCSDIR%%/api/doxygen.css
@ -59,8 +59,8 @@ libdata/pkgconfig/ktoblzcheck.pc
%%DOXYGEN%%%%DOCSDIR%%/api/iban_8h_source.html %%DOXYGEN%%%%DOCSDIR%%/api/iban_8h_source.html
%%DOXYGEN%%%%DOCSDIR%%/api/index.html %%DOXYGEN%%%%DOCSDIR%%/api/index.html
%%DOXYGEN%%%%DOCSDIR%%/api/jquery.js %%DOXYGEN%%%%DOCSDIR%%/api/jquery.js
%%DOXYGEN%%%%DOCSDIR%%/api/ktoblzcheck-1_857_2src_2include_2ktoblzcheck__export_8h.html %%DOXYGEN%%%%DOCSDIR%%/api/ktoblzcheck-1_859_2src_2include_2ktoblzcheck__export_8h.html
%%DOXYGEN%%%%DOCSDIR%%/api/ktoblzcheck-1_857_2src_2include_2ktoblzcheck__export_8h_source.html %%DOXYGEN%%%%DOCSDIR%%/api/ktoblzcheck-1_859_2src_2include_2ktoblzcheck__export_8h_source.html
%%DOXYGEN%%%%DOCSDIR%%/api/ktoblzcheck_8h.html %%DOXYGEN%%%%DOCSDIR%%/api/ktoblzcheck_8h.html
%%DOXYGEN%%%%DOCSDIR%%/api/ktoblzcheck_8h_source.html %%DOXYGEN%%%%DOCSDIR%%/api/ktoblzcheck_8h_source.html
%%DOXYGEN%%%%DOCSDIR%%/api/menu.js %%DOXYGEN%%%%DOCSDIR%%/api/menu.js
@ -84,9 +84,5 @@ libdata/pkgconfig/ktoblzcheck.pc
%%DOXYGEN%%%%DOCSDIR%%/api/tab_s.png %%DOXYGEN%%%%DOCSDIR%%/api/tab_s.png
%%DOXYGEN%%%%DOCSDIR%%/api/tab_sd.png %%DOXYGEN%%%%DOCSDIR%%/api/tab_sd.png
%%DOXYGEN%%%%DOCSDIR%%/api/tabs.css %%DOXYGEN%%%%DOCSDIR%%/api/tabs.css
%%DATADIR%%/bankdata.ch.db
%%DATADIR%%/bankdata.de.db
%%DATADIR%%/bankdata.nl.db
%%DATADIR%%/ibandata.txt
share/man/man1/ibanchk.1.gz share/man/man1/ibanchk.1.gz
share/man/man1/ktoblzcheck.1.gz share/man/man1/ktoblzcheck.1.gz