Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 25 Sep 2023 12:59:46 GMT
From:      Guido Falsi <madpilot@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 7453fb413ae6 - main - security/xca: Update to 2.5.0
Message-ID:  <202309251259.38PCxkiK044952@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by madpilot:

URL: https://cgit.FreeBSD.org/ports/commit/?id=7453fb413ae68f256c4848ad642bee04293f3c28

commit 7453fb413ae68f256c4848ad642bee04293f3c28
Author:     Guido Falsi <madpilot@FreeBSD.org>
AuthorDate: 2023-09-25 12:59:29 +0000
Commit:     Guido Falsi <madpilot@FreeBSD.org>
CommitDate: 2023-09-25 12:59:29 +0000

    security/xca: Update to 2.5.0
    
    - Flavorize and add qt6 flavor
---
 security/xca/Makefile                       | 45 +++++++-------
 security/xca/distinfo                       |  6 +-
 security/xca/files/patch-doc_CMakeLists.txt | 11 ++++
 security/xca/files/patch-lib_pkcs11.cpp     | 32 ----------
 security/xca/files/patch-lib_pki__evp.cpp   | 33 -----------
 security/xca/files/patch-lib_pki__key.cpp   | 65 --------------------
 security/xca/files/patch-lib_pki__scard.cpp | 30 ----------
 security/xca/pkg-plist                      | 92 ++++++++++++++++++++++++-----
 8 files changed, 115 insertions(+), 199 deletions(-)

diff --git a/security/xca/Makefile b/security/xca/Makefile
index fce533e9e296..80c4213c5ce4 100644
--- a/security/xca/Makefile
+++ b/security/xca/Makefile
@@ -1,5 +1,5 @@
 PORTNAME=	xca
-PORTVERSION=	2.4.0
+PORTVERSION=	2.5.0
 CATEGORIES=	security
 MASTER_SITES=	https://github.com/${GH_ACCOUNT}/xca/releases/download/RELEASE.${PORTVERSION}/
 
@@ -10,21 +10,30 @@ WWW=		https://hohnstaedt.de/xca
 LICENSE=	BSD3CLAUSE
 LICENSE_FILE=	${WRKSRC}/COPYRIGHT
 
-BUILD_DEPENDS=	gsed:textproc/gsed
-LIB_DEPENDS=	libltdl.so:devel/libltdl
-
-USES=		compiler:c++11-lang desktop-file-utils gmake localbase \
-		pkgconfig qt:5 shared-mime-info ssl
-BROKEN_SSL=	openssl30 openssl31
-BROKEN_SSL_REASON=	Uses deprecated and removed OpenSSL routines
-USE_QT=		buildtools:build core gui help linguist:build sql widgets
-USE_CXXSTD=	c++11
-
-GNU_CONFIGURE=	yes
-BINARY_ALIAS=	sed=${LOCALBASE}/bin/gsed
-CONFIGURE_ARGS=	--with-openssl=${OPENSSLDIR} \
-		--with-qt=${PREFIX} \
-		--with-qt-version=5
+FLAVORS=		qt5 qt6
+FLAVOR?=		${FLAVORS:[1]}
+FLAVORS_SUB=		yes
+qt5_PKGNAMESUFFIX=
+qt6_PKGNAMESUFFIX=	-qt6
+qt5_CONFLICTS_INSTALL=	${PORTNAME}-qt6
+qt6_CONFLICTS_INSTALL=	${PORTNAME}
+
+USES=		cmake compiler:c++17-lang desktop-file-utils localbase \
+		pkgconfig shared-mime-info ssl
+USE_LOCALE=	en_US.UTF-8
+
+.if ${FLAVOR} == qt5
+USES+=		qt:5
+USE_QT=		core gui help qmake sql widgets buildtools:build linguist:build
+RCCREGEXP=	\/lib\/qt5\/bin\/rcc
+CMAKE_ARG=	-DQTFIXEDVERSION:STRING=qt5
+.else
+USES+=		gl qt:6
+USE_GL=		opengl
+USE_QT=		base sqldriver-sqlite tools
+RCCREGEXP=	\/libexec\/qt6\/rcc
+CMAKE_ARG=	-DQTFIXEDVERSION:STRING=qt6
+.endif
 
 GH_ACCOUNT=	chris2511
 
@@ -32,8 +41,4 @@ OPTIONS_DEFINE=	DOCS
 
 DOCS_BUILD_DEPENDS=	sphinx-build:textproc/py-sphinx
 
-post-patch:
-	@${REINPLACE_CMD} -e '/^CFLAGS/s|-O2 ||' \
-		${WRKSRC}/Local.mak.in
-
 .include <bsd.port.mk>
diff --git a/security/xca/distinfo b/security/xca/distinfo
index 008f7e85b5d3..2666b1dd0520 100644
--- a/security/xca/distinfo
+++ b/security/xca/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1620426109
-SHA256 (xca-2.4.0.tar.gz) = 66da8954fe9709ace965c6fcb1cfbb7b08ce75b7222988acb9e2b8b5fac7cf10
-SIZE (xca-2.4.0.tar.gz) = 1778572
+TIMESTAMP = 1695589720
+SHA256 (xca-2.5.0.tar.gz) = b50ef50c4850a1c1d20fce41971783cb0a2fb9155caa05300029b28b53311d37
+SIZE (xca-2.5.0.tar.gz) = 1846478
diff --git a/security/xca/files/patch-doc_CMakeLists.txt b/security/xca/files/patch-doc_CMakeLists.txt
new file mode 100644
index 000000000000..ea57e11c23eb
--- /dev/null
+++ b/security/xca/files/patch-doc_CMakeLists.txt
@@ -0,0 +1,11 @@
+--- doc/CMakeLists.txt.orig	2023-09-24 18:22:03 UTC
++++ doc/CMakeLists.txt
+@@ -129,7 +129,7 @@ if(SPHINX)
+ 
+     if (UNIX AND NOT APPLE)
+         install(FILES ${QTHELP_DEST} ${QTHELP_IDX}
+-                DESTINATION ${CMAKE_INSTALL_DATADIR}/${CMAKE_PROJECT_NAME}/html
++                DESTINATION ${CMAKE_INSTALL_DOCDIR}/html
+         )
+     elseif (WIN32)
+         install(FILES ${QTHELP_DEST} ${QTHELP_IDX}
diff --git a/security/xca/files/patch-lib_pkcs11.cpp b/security/xca/files/patch-lib_pkcs11.cpp
deleted file mode 100644
index caba1dcc1f47..000000000000
--- a/security/xca/files/patch-lib_pkcs11.cpp
+++ /dev/null
@@ -1,32 +0,0 @@
---- lib/pkcs11.cpp.orig	2021-05-07 20:40:29 UTC
-+++ lib/pkcs11.cpp
-@@ -840,8 +840,7 @@ EVP_PKEY *pkcs11::getPrivateKey(EVP_PKEY *pub, CK_OBJE
- 
- 	switch (EVP_PKEY_type(keytype)) {
- 	case EVP_PKEY_RSA:
--		rsa = EVP_PKEY_get0_RSA(pub);
--		rsa = RSAPublicKey_dup(rsa);
-+		rsa = RSAPublicKey_dup(EVP_PKEY_get0_RSA(pub));
- 		openssl_error();
- 		if (!rsa_meth) {
- #if OPENSSL_VERSION_NUMBER >= 0x1010000L
-@@ -865,8 +864,7 @@ EVP_PKEY *pkcs11::getPrivateKey(EVP_PKEY *pub, CK_OBJE
- 		EVP_PKEY_assign_RSA(evp, rsa);
- 		break;
- 	case EVP_PKEY_DSA:
--		dsa = EVP_PKEY_get0_DSA(pub);
--		dsa = DSAparams_dup(dsa);
-+		dsa = DSAparams_dup(EVP_PKEY_get0_DSA(pub));
- 		openssl_error();
- 		if (!dsa_meth) {
- #if OPENSSL_VERSION_NUMBER >= 0x10100000L
-@@ -889,8 +887,7 @@ EVP_PKEY *pkcs11::getPrivateKey(EVP_PKEY *pub, CK_OBJE
- 		break;
- #if !defined(OPENSSL_NO_EC) && OPENSSL_VERSION_NUMBER >= 0x10100000L
- 	case EVP_PKEY_EC:
--		ec = EVP_PKEY_get0_EC_KEY(pub);
--		ec = EC_KEY_dup(ec);
-+		ec = EC_KEY_dup(EVP_PKEY_get0_EC_KEY(pub));
- 		openssl_error();
- 		if (!ec_key_meth) {
- 			ec_key_meth = setup_ec_key_meth();
diff --git a/security/xca/files/patch-lib_pki__evp.cpp b/security/xca/files/patch-lib_pki__evp.cpp
deleted file mode 100644
index 28fdc74c6690..000000000000
--- a/security/xca/files/patch-lib_pki__evp.cpp
+++ /dev/null
@@ -1,33 +0,0 @@
---- lib/pki_evp.cpp.orig	2021-05-07 20:40:29 UTC
-+++ lib/pki_evp.cpp
-@@ -282,8 +282,8 @@ static void search_ec_oid(EVP_PKEY *pkey)
- static void search_ec_oid(EVP_PKEY *pkey)
- {
- #ifndef OPENSSL_NO_EC
--	EC_KEY *ec;
- 	EC_GROUP *builtin;
-+	const EC_KEY *ec;
- 	const EC_GROUP *ec_group;
- 
- 	int keytype = EVP_PKEY_id(pkey);
-@@ -621,8 +621,10 @@ EVP_PKEY *pki_evp::legacyDecryptKey(QByteArray &myencK
- 
- 	pki_openssl_error();
- 	if (EVP_PKEY_type(getKeyType()) == EVP_PKEY_RSA) {
--		RSA *rsa = EVP_PKEY_get0_RSA(tmpkey);
-+		RSA *rsa = (RSA *)EVP_PKEY_get0_RSA(tmpkey);
-+#if OPENSSL_VERSION_MAJOR < 3
- 		RSA_blinding_on(rsa, NULL);
-+#endif
- 	}
- 	myencKey.fill(0);
- 	return tmpkey;
-@@ -930,7 +932,7 @@ bool pki_evp::verify_priv(EVP_PKEY *pkey) const
- 		EVP_MD_CTX_free(ctx);
- #endif
- 	if (EVP_PKEY_id(pkey) == EVP_PKEY_RSA && EVP_PKEY_isPrivKey(pkey)) {
--		RSA *rsa = EVP_PKEY_get0_RSA(pkey);
-+		const RSA *rsa = EVP_PKEY_get0_RSA(pkey);
- 		if (RSA_check_key(rsa) != 1)
- 			verify = false;
- 	}
diff --git a/security/xca/files/patch-lib_pki__key.cpp b/security/xca/files/patch-lib_pki__key.cpp
deleted file mode 100644
index a7a834548ca6..000000000000
--- a/security/xca/files/patch-lib_pki__key.cpp
+++ /dev/null
@@ -1,65 +0,0 @@
---- lib/pki_key.cpp.orig	2021-05-07 20:40:29 UTC
-+++ lib/pki_key.cpp
-@@ -197,7 +197,7 @@ QString pki_key::length() const
- 
- 	if (EVP_PKEY_id(key) == EVP_PKEY_DSA) {
- 		const BIGNUM *p = NULL;
--		DSA *dsa = EVP_PKEY_get0_DSA(key);
-+		const DSA *dsa = EVP_PKEY_get0_DSA(key);
- 		if (dsa)
- 			DSA_get0_pqg(dsa, &p, NULL, NULL);
- 		dsa_unset = p == NULL;
-@@ -299,7 +299,7 @@ QString pki_key::modulus() const
- 	if (getKeyType() == EVP_PKEY_RSA) {
- 		const BIGNUM *n = NULL;
- 
--		RSA *rsa = EVP_PKEY_get0_RSA(key);
-+		const RSA *rsa = EVP_PKEY_get0_RSA(key);
- 		RSA_get0_key(rsa, &n, NULL, NULL);
- 		return BN2QString(n);
- 	}
-@@ -310,7 +310,7 @@ QString pki_key::pubEx() const
- {
- 	if (getKeyType() == EVP_PKEY_RSA) {
- 		const BIGNUM *e = NULL;
--		RSA *rsa = EVP_PKEY_get0_RSA(key);
-+		const RSA *rsa = EVP_PKEY_get0_RSA(key);
- 		RSA_get0_key(rsa, NULL, &e, NULL);
- 		return BN2QString(e);
- 	}
-@@ -321,7 +321,7 @@ QString pki_key::subprime() const
- {
- 	if (getKeyType() == EVP_PKEY_DSA) {
- 		const BIGNUM *q = NULL;
--		DSA *dsa = EVP_PKEY_get0_DSA(key);
-+		const DSA *dsa = EVP_PKEY_get0_DSA(key);
- 		if (dsa)
- 			DSA_get0_pqg(dsa, NULL, &q, NULL);
- 		return BN2QString(q);
-@@ -333,7 +333,7 @@ QString pki_key::pubkey() const
- {
- 	if (getKeyType() == EVP_PKEY_DSA) {
- 		const BIGNUM *pubkey = NULL;
--		DSA *dsa = EVP_PKEY_get0_DSA(key);
-+		const DSA *dsa = EVP_PKEY_get0_DSA(key);
- 		if (dsa)
- 			DSA_get0_key(dsa, &pubkey, NULL);
- 		return BN2QString(pubkey);
-@@ -766,7 +766,7 @@ QByteArray pki_key::SSH2publicQByteArray(bool raw) con
- 		txt = "ssh-rsa";
- 		ssh_key_QBA2data(txt, &data);
- 		{
--			RSA *rsa = EVP_PKEY_get0_RSA(key);
-+			const RSA *rsa = EVP_PKEY_get0_RSA(key);
- 			const BIGNUM *n, *e;
- 			RSA_get0_key(rsa, &n, &e, NULL);
- 			ssh_key_bn2data(e, &data);
-@@ -777,7 +777,7 @@ QByteArray pki_key::SSH2publicQByteArray(bool raw) con
- 		txt = "ssh-dss";
- 		ssh_key_QBA2data(txt, &data);
- 		{
--			DSA *dsa = EVP_PKEY_get0_DSA(key);
-+			const DSA *dsa = EVP_PKEY_get0_DSA(key);
- 			const BIGNUM *p, *q, *g, *pubkey;
- 			DSA_get0_pqg(dsa, &p, &q, &g);
- 			DSA_get0_key(dsa, &pubkey, NULL);
diff --git a/security/xca/files/patch-lib_pki__scard.cpp b/security/xca/files/patch-lib_pki__scard.cpp
deleted file mode 100644
index e8335511da7f..000000000000
--- a/security/xca/files/patch-lib_pki__scard.cpp
+++ /dev/null
@@ -1,30 +0,0 @@
---- lib/pki_scard.cpp.orig	2021-05-07 20:40:29 UTC
-+++ lib/pki_scard.cpp
-@@ -293,10 +293,10 @@ pk11_attlist pki_scard::objectAttributesNoId(EVP_PKEY 
- pk11_attlist pki_scard::objectAttributesNoId(EVP_PKEY *pk, bool priv) const
- {
- 	QByteArray ba;
--	RSA *rsa;
--	DSA *dsa;
-+	const RSA *rsa;
-+	const DSA *dsa;
- #ifndef OPENSSL_NO_EC
--	EC_KEY *ec;
-+	const EC_KEY *ec;
- #endif
- 	const BIGNUM *n = NULL;
- 	const BIGNUM *e = NULL;
-@@ -401,10 +401,10 @@ void pki_scard::store_token(const slotid &slot, EVP_PK
- void pki_scard::store_token(const slotid &slot, EVP_PKEY *pkey)
- {
- 	QByteArray ba;
--	RSA *rsa;
--	DSA *dsa;
-+	const RSA *rsa;
-+	const DSA *dsa;
- #ifndef OPENSSL_NO_EC
--	EC_KEY *ec;
-+	const EC_KEY *ec;
- #endif
- 	pk11_attlist pub_atts;
- 	pk11_attlist priv_atts;
diff --git a/security/xca/pkg-plist b/security/xca/pkg-plist
index c5f3a5e8f74e..64ccaafc0976 100644
--- a/security/xca/pkg-plist
+++ b/security/xca/pkg-plist
@@ -1,7 +1,42 @@
 bin/xca
-man/man1/xca.1.gz
 share/applications/xca.desktop
 share/bash-completion/completions/xca
+%%PORTDOCS%%%%DOCSDIR%%/_sources/arguments.rst.txt
+%%PORTDOCS%%%%DOCSDIR%%/_sources/certificate-input.rst.txt
+%%PORTDOCS%%%%DOCSDIR%%/_sources/certificates.rst.txt
+%%PORTDOCS%%%%DOCSDIR%%/_sources/changelog.rst.txt
+%%PORTDOCS%%%%DOCSDIR%%/_sources/commandline.rst.txt
+%%PORTDOCS%%%%DOCSDIR%%/_sources/common-actions.rst.txt
+%%PORTDOCS%%%%DOCSDIR%%/_sources/database.rst.txt
+%%PORTDOCS%%%%DOCSDIR%%/_sources/index.rst.txt
+%%PORTDOCS%%%%DOCSDIR%%/_sources/introduction.rst.txt
+%%PORTDOCS%%%%DOCSDIR%%/_sources/miscellaneous.rst.txt
+%%PORTDOCS%%%%DOCSDIR%%/_sources/object-ids.rst.txt
+%%PORTDOCS%%%%DOCSDIR%%/_sources/options.rst.txt
+%%PORTDOCS%%%%DOCSDIR%%/_sources/privatekey.rst.txt
+%%PORTDOCS%%%%DOCSDIR%%/_sources/requests.rst.txt
+%%PORTDOCS%%%%DOCSDIR%%/_sources/revocationlist.rst.txt
+%%PORTDOCS%%%%DOCSDIR%%/_sources/smartcard.rst.txt
+%%PORTDOCS%%%%DOCSDIR%%/_sources/step-by-step.rst.txt
+%%PORTDOCS%%%%DOCSDIR%%/_sources/template.rst.txt
+%%PORTDOCS%%%%DOCSDIR%%/_static/_sphinx_javascript_frameworks_compat.js
+%%PORTDOCS%%%%DOCSDIR%%/_static/alabaster.css
+%%PORTDOCS%%%%DOCSDIR%%/_static/basic.css
+%%PORTDOCS%%%%DOCSDIR%%/_static/bigcert.png
+%%PORTDOCS%%%%DOCSDIR%%/_static/custom.css
+%%PORTDOCS%%%%DOCSDIR%%/_static/doctools.js
+%%PORTDOCS%%%%DOCSDIR%%/_static/documentation_options.js
+%%PORTDOCS%%%%DOCSDIR%%/_static/file.png
+%%PORTDOCS%%%%DOCSDIR%%/_static/jquery-3.6.0.js
+%%PORTDOCS%%%%DOCSDIR%%/_static/jquery.js
+%%PORTDOCS%%%%DOCSDIR%%/_static/language_data.js
+%%PORTDOCS%%%%DOCSDIR%%/_static/minus.png
+%%PORTDOCS%%%%DOCSDIR%%/_static/plus.png
+%%PORTDOCS%%%%DOCSDIR%%/_static/pygments.css
+%%PORTDOCS%%%%DOCSDIR%%/_static/searchtools.js
+%%PORTDOCS%%%%DOCSDIR%%/_static/sphinx_highlight.js
+%%PORTDOCS%%%%DOCSDIR%%/_static/underscore-1.13.1.js
+%%PORTDOCS%%%%DOCSDIR%%/_static/underscore.js
 %%PORTDOCS%%%%DOCSDIR%%/arguments.html
 %%PORTDOCS%%%%DOCSDIR%%/certificate-input.html
 %%PORTDOCS%%%%DOCSDIR%%/certificates.html
@@ -10,19 +45,40 @@ share/bash-completion/completions/xca
 %%PORTDOCS%%%%DOCSDIR%%/common-actions.html
 %%PORTDOCS%%%%DOCSDIR%%/database.html
 %%PORTDOCS%%%%DOCSDIR%%/genindex.html
+%%PORTDOCS%%%%DOCSDIR%%/html/certificate-input.html
+%%PORTDOCS%%%%DOCSDIR%%/html/certificates.html
+%%PORTDOCS%%%%DOCSDIR%%/html/changelog.html
+%%PORTDOCS%%%%DOCSDIR%%/html/commandline.html
+%%PORTDOCS%%%%DOCSDIR%%/html/common-actions.html
+%%PORTDOCS%%%%DOCSDIR%%/html/database.html
+%%PORTDOCS%%%%DOCSDIR%%/html/index.html
+%%PORTDOCS%%%%DOCSDIR%%/html/introduction.html
+%%PORTDOCS%%%%DOCSDIR%%/html/miscellaneous.html
+%%PORTDOCS%%%%DOCSDIR%%/html/object-ids.html
+%%PORTDOCS%%%%DOCSDIR%%/html/options.html
+%%PORTDOCS%%%%DOCSDIR%%/html/privatekey.html
+%%PORTDOCS%%%%DOCSDIR%%/html/requests.html
+%%PORTDOCS%%%%DOCSDIR%%/html/revocationlist.html
+%%PORTDOCS%%%%DOCSDIR%%/html/smartcard.html
+%%PORTDOCS%%%%DOCSDIR%%/html/step-by-step.html
+%%PORTDOCS%%%%DOCSDIR%%/html/template.html
+%%PORTDOCS%%%%DOCSDIR%%/html/xca.qch
+%%PORTDOCS%%%%DOCSDIR%%/html/xca.qhc
 %%PORTDOCS%%%%DOCSDIR%%/index.html
 %%PORTDOCS%%%%DOCSDIR%%/introduction.html
 %%PORTDOCS%%%%DOCSDIR%%/miscellaneous.html
 %%PORTDOCS%%%%DOCSDIR%%/object-ids.html
+%%PORTDOCS%%%%DOCSDIR%%/objects.inv
 %%PORTDOCS%%%%DOCSDIR%%/options.html
 %%PORTDOCS%%%%DOCSDIR%%/privatekey.html
 %%PORTDOCS%%%%DOCSDIR%%/requests.html
 %%PORTDOCS%%%%DOCSDIR%%/revocationlist.html
+%%PORTDOCS%%%%DOCSDIR%%/search.html
+%%PORTDOCS%%%%DOCSDIR%%/searchindex.js
 %%PORTDOCS%%%%DOCSDIR%%/smartcard.html
 %%PORTDOCS%%%%DOCSDIR%%/step-by-step.html
 %%PORTDOCS%%%%DOCSDIR%%/template.html
-%%PORTDOCS%%%%DOCSDIR%%/xca.qch
-%%PORTDOCS%%%%DOCSDIR%%/xca.qhc
+share/man/man1/xca.1.gz
 share/mime/packages/xca.xml
 share/icons/hicolor/16x16/apps/xca.png
 share/icons/hicolor/16x16/mimetypes/x-xca-database.png
@@ -42,17 +98,21 @@ share/pixmaps/xca-32x32.xpm
 %%DATADIR%%/TLS_server.xca
 %%DATADIR%%/dn.txt
 %%DATADIR%%/eku.txt
+%%QT6%%%%DATADIR%%/i18n/xca.qm
+%%DATADIR%%/i18n/xca_bg.qm
+%%DATADIR%%/i18n/xca_de.qm
+%%DATADIR%%/i18n/xca_es.qm
+%%DATADIR%%/i18n/xca_fa.qm
+%%DATADIR%%/i18n/xca_fr.qm
+%%DATADIR%%/i18n/xca_hr.qm
+%%DATADIR%%/i18n/xca_id.qm
+%%DATADIR%%/i18n/xca_it.qm
+%%DATADIR%%/i18n/xca_ja.qm
+%%DATADIR%%/i18n/xca_nl.qm
+%%DATADIR%%/i18n/xca_pl.qm
+%%DATADIR%%/i18n/xca_pt_BR.qm
+%%DATADIR%%/i18n/xca_ru.qm
+%%DATADIR%%/i18n/xca_sk.qm
+%%DATADIR%%/i18n/xca_tr.qm
+%%DATADIR%%/i18n/xca_zh_CN.qm
 %%DATADIR%%/oids.txt
-%%DATADIR%%/xca_de.qm
-%%DATADIR%%/xca_es.qm
-%%DATADIR%%/xca_fr.qm
-%%DATADIR%%/xca_hr.qm
-%%DATADIR%%/xca_it.qm
-%%DATADIR%%/xca_ja.qm
-%%DATADIR%%/xca_nl.qm
-%%DATADIR%%/xca_pl.qm
-%%DATADIR%%/xca_pt_BR.qm
-%%DATADIR%%/xca_ru.qm
-%%DATADIR%%/xca_sk.qm
-%%DATADIR%%/xca_tr.qm
-%%DATADIR%%/xca_zh_CN.qm



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202309251259.38PCxkiK044952>