Github messages for voidlinux
 help / color / mirror / Atom feed
From: cinerea0 <cinerea0@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] gnucash: update to 5.0, enable SQL support + add libdbi packages
Date: Wed, 12 Apr 2023 19:23:41 +0200	[thread overview]
Message-ID: <20230412172341.7HrNHtTQ5EVYoGHkY-qQQ638nVRA9UbVN2fk3lZMxds@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-43386@inbox.vuxu.org>

[-- Attachment #1: Type: text/plain, Size: 768 bytes --]

There is an updated pull request by cinerea0 against master on the void-packages repository

https://github.com/cinerea0/void-packages gnucash
https://github.com/void-linux/void-packages/pull/43386

gnucash: update to 5.0, enable SQL support + add libdbi packages
#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- These new packages conform to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, x86_64-glibc (crossbuilds disabled for gnucash)

---

**cc: @manfredu**


A patch file from https://github.com/void-linux/void-packages/pull/43386.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gnucash-43386.patch --]
[-- Type: text/x-diff, Size: 10843 bytes --]

From 52c32a8357729ccc6f5454eec70b63a40396f659 Mon Sep 17 00:00:00 2001
From: cinerea0 <cinerea0@disroot.org>
Date: Wed, 12 Apr 2023 13:21:08 -0400
Subject: [PATCH 1/3] New package: libdbi-0.9.0

---
 common/shlibs           |  1 +
 srcpkgs/libdbi-devel    |  1 +
 srcpkgs/libdbi-doc      |  1 +
 srcpkgs/libdbi/template | 30 ++++++++++++++++++++++++++++++
 4 files changed, 33 insertions(+)
 create mode 120000 srcpkgs/libdbi-devel
 create mode 120000 srcpkgs/libdbi-doc
 create mode 100644 srcpkgs/libdbi/template

diff --git a/common/shlibs b/common/shlibs
index 847f5daec09d..dde96bd527bb 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4243,3 +4243,4 @@ libdate-tz.so.3 chrono-date-3.0.1_1
 libayatana-ido3-0.4.so.0 ayatana-ido-0.9.2_1
 libayatana-indicator3.so.7 libayatana-indicator-0.9.3_1
 libayatana-appindicator3.so.1 libayatana-appindicator-0.5.91_1
+libdbi.so.1 libdbi-0.9.0_1
diff --git a/srcpkgs/libdbi-devel b/srcpkgs/libdbi-devel
new file mode 120000
index 000000000000..461034ca75ea
--- /dev/null
+++ b/srcpkgs/libdbi-devel
@@ -0,0 +1 @@
+libdbi
\ No newline at end of file
diff --git a/srcpkgs/libdbi-doc b/srcpkgs/libdbi-doc
new file mode 120000
index 000000000000..461034ca75ea
--- /dev/null
+++ b/srcpkgs/libdbi-doc
@@ -0,0 +1 @@
+libdbi
\ No newline at end of file
diff --git a/srcpkgs/libdbi/template b/srcpkgs/libdbi/template
new file mode 100644
index 000000000000..8298ad802294
--- /dev/null
+++ b/srcpkgs/libdbi/template
@@ -0,0 +1,30 @@
+# Template file for 'libdbi'
+pkgname=libdbi
+version=0.9.0
+revision=1
+build_style=gnu-configure
+short_desc="Database independent abstraction layer for C"
+maintainer="cinerea0 <cinerea0@protonmail.com>"
+license="LGPL-2.1-only"
+homepage="https://libdbi.sourceforge.net/"
+changelog="https://sourceforge.net/p/libdbi/libdbi/ci/master/tree/NEWS"
+distfiles="${SOURCEFORGE_SITE}/libdbi/libdbi-${version}.tar.gz"
+checksum=dafb6cdca524c628df832b6dd0bf8fabceb103248edb21762c02d3068fca4503
+
+libdbi-devel_package() {
+	short_desc+=" - development files"
+	depends="${sourcepkg}>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/include
+		vmove usr/lib/pkgconfig
+		vmove "usr/lib/*.a"
+	}
+}
+
+libdbi-doc_package() {
+	short_desc+=" - documentation"
+	depends="${sourcepkg}>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/share/doc
+	}
+}

From e61f46aa4d516bf5103f85e81b93ce6e3215ca01 Mon Sep 17 00:00:00 2001
From: cinerea0 <cinerea0@disroot.org>
Date: Wed, 12 Apr 2023 13:21:41 -0400
Subject: [PATCH 2/3] New package: libdbi-drivers-0.9.0

---
 srcpkgs/libdbdmysql             |  1 +
 srcpkgs/libdbdpgsql             |  1 +
 srcpkgs/libdbdsqlite            |  1 +
 srcpkgs/libdbi-drivers-devel    |  1 +
 srcpkgs/libdbi-drivers-doc      |  1 +
 srcpkgs/libdbi-drivers/template | 98 +++++++++++++++++++++++++++++++++
 6 files changed, 103 insertions(+)
 create mode 120000 srcpkgs/libdbdmysql
 create mode 120000 srcpkgs/libdbdpgsql
 create mode 120000 srcpkgs/libdbdsqlite
 create mode 120000 srcpkgs/libdbi-drivers-devel
 create mode 120000 srcpkgs/libdbi-drivers-doc
 create mode 100644 srcpkgs/libdbi-drivers/template

diff --git a/srcpkgs/libdbdmysql b/srcpkgs/libdbdmysql
new file mode 120000
index 000000000000..28d3bc25c5fc
--- /dev/null
+++ b/srcpkgs/libdbdmysql
@@ -0,0 +1 @@
+libdbi-drivers
\ No newline at end of file
diff --git a/srcpkgs/libdbdpgsql b/srcpkgs/libdbdpgsql
new file mode 120000
index 000000000000..28d3bc25c5fc
--- /dev/null
+++ b/srcpkgs/libdbdpgsql
@@ -0,0 +1 @@
+libdbi-drivers
\ No newline at end of file
diff --git a/srcpkgs/libdbdsqlite b/srcpkgs/libdbdsqlite
new file mode 120000
index 000000000000..28d3bc25c5fc
--- /dev/null
+++ b/srcpkgs/libdbdsqlite
@@ -0,0 +1 @@
+libdbi-drivers
\ No newline at end of file
diff --git a/srcpkgs/libdbi-drivers-devel b/srcpkgs/libdbi-drivers-devel
new file mode 120000
index 000000000000..28d3bc25c5fc
--- /dev/null
+++ b/srcpkgs/libdbi-drivers-devel
@@ -0,0 +1 @@
+libdbi-drivers
\ No newline at end of file
diff --git a/srcpkgs/libdbi-drivers-doc b/srcpkgs/libdbi-drivers-doc
new file mode 120000
index 000000000000..28d3bc25c5fc
--- /dev/null
+++ b/srcpkgs/libdbi-drivers-doc
@@ -0,0 +1 @@
+libdbi-drivers
\ No newline at end of file
diff --git a/srcpkgs/libdbi-drivers/template b/srcpkgs/libdbi-drivers/template
new file mode 100644
index 000000000000..cd8534e3a874
--- /dev/null
+++ b/srcpkgs/libdbi-drivers/template
@@ -0,0 +1,98 @@
+# Template file for 'libdbi-drivers'
+pkgname=libdbi-drivers
+version=0.9.0
+revision=1
+build_style=meta
+configure_args="--prefix=/usr --with-mysql --with-pgsql --with-sqlite3
+ --with-dbi-libdir=${XBPS_CROSS_BASE}/usr/lib"
+hostmakedepends="docbook docbook-dsssl openjade postgresql-libs-devel"
+makedepends="libdbi-devel libmariadbclient-devel postgresql-libs-devel
+ sqlite-devel zlib-devel"
+depends="libdbdmysql libdbdpgsql libdbdsqlite"
+short_desc="Database drivers for libdbi (MySQL, PostgreSQL, and SQLite)"
+maintainer="cinerea0 <cinerea0@protonmail.com>"
+license="LGPL-2.1-only"
+homepage="https://libdbi-drivers.sourceforge.net/"
+changelog="https://sourceforge.net/p/libdbi-drivers/libdbi-drivers/ci/master/tree/NEWS"
+distfiles="${SOURCEFORGE_SITE}/libdbi-drivers/libdbi-drivers-${version}.tar.gz"
+checksum=43d2eacd573a4faff296fa925dd97fbf2aedbf1ae35c6263478210c61004c854
+make_check=no  # tests require full DB environments and hang
+
+# build_style is meta because subpackages move all files out of the main
+# package, so build steps must be directly included. do_configure through
+# do_install are taken directly from common/build-style/gnu-configure.sh.
+do_configure() {
+	: ${configure_script:=./configure}
+
+	export lt_cv_sys_lib_dlsearch_path_spec="/usr/lib64 /usr/lib32 /usr/lib /lib /usr/local/lib"
+	${configure_script} ${configure_args}
+}
+
+do_build() {
+	: ${make_cmd:=make}
+
+	export lt_cv_sys_lib_dlsearch_path_spec="/usr/lib64 /usr/lib32 /usr/lib /lib /usr/local/lib"
+	${make_cmd} ${makejobs} ${make_build_args} ${make_build_target}
+}
+
+do_check() {
+	if [ -z "$make_cmd" ] && [ -z "$make_check_target" ]; then
+		if make -q check 2>/dev/null; then
+			:
+		else
+			if [ $? -eq 2 ]; then
+				msg_warn 'No target to "make check".\n'
+				return 0
+			fi
+		fi
+	fi
+
+	: ${make_cmd:=make}
+	: ${make_check_target:=check}
+
+	${make_check_pre} ${make_cmd} ${makejobs} ${make_check_args} ${make_check_target}
+}
+
+do_install() {
+	: ${make_cmd:=make}
+	: ${make_install_target:=install}
+
+	${make_cmd} DESTDIR=${DESTDIR} ${make_install_args} ${make_install_target}
+}
+
+libdbdmysql_package() {
+	short_desc="MySQL driver for libdbi"
+	pkg_install() {
+		vmove usr/lib/dbd/libdbdmysql.so
+	}
+}
+
+libdbdpgsql_package() {
+	short_desc="PostgreSQL driver for libdbi"
+	pkg_install() {
+		vmove usr/lib/dbd/libdbdpgsql.so
+	}
+}
+
+libdbdsqlite_package() {
+	short_desc="SQLite driver for libdbi"
+	pkg_install() {
+		vmove usr/lib/dbd/libdbdsqlite3.so
+	}
+}
+
+libdbi-drivers-devel_package() {
+	short_desc+=" - development files"
+	depends="${sourcepkg}>=${version}_${revision}"
+	pkg_install() {
+		vmove "usr/lib/dbd/*.a"
+	}
+}
+
+libdbi-drivers-doc_package() {
+	short_desc+=" - documentation"
+	depends="${sourcepkg}>=${version}_${revision}"
+	pkg_install() {
+		vmove usr/share/doc
+	}
+}

From a2a31e0cbcc197ce7fb7bfbf3b1ba3a70b5bf790 Mon Sep 17 00:00:00 2001
From: cinerea0 <cinerea0@disroot.org>
Date: Wed, 12 Apr 2023 13:23:20 -0400
Subject: [PATCH 3/3] gnucash: update to 5.0, enable SQL support

---
 srcpkgs/gnucash/files/README.voidlinux |  9 ++++++
 srcpkgs/gnucash/template               | 38 ++++++++++++++------------
 2 files changed, 30 insertions(+), 17 deletions(-)
 create mode 100644 srcpkgs/gnucash/files/README.voidlinux

diff --git a/srcpkgs/gnucash/files/README.voidlinux b/srcpkgs/gnucash/files/README.voidlinux
new file mode 100644
index 000000000000..3f48d63b07fc
--- /dev/null
+++ b/srcpkgs/gnucash/files/README.voidlinux
@@ -0,0 +1,9 @@
+Installing GnuCash does not provide the libraries necessary to use its SQL
+backend. Install the following packages to enable their corresponding SQL
+backends:
+
+libdbdmysql		MySQL
+libdbdpgsql		PostgreSQL
+libdbdsqlite	SQLite
+
+To install all of the above, install libdbi-drivers.
diff --git a/srcpkgs/gnucash/template b/srcpkgs/gnucash/template
index 3b3d1a4390e2..06bb934ac8ac 100644
--- a/srcpkgs/gnucash/template
+++ b/srcpkgs/gnucash/template
@@ -1,21 +1,23 @@
 # Template file for 'gnucash'
 pkgname=gnucash
-version=4.13
-revision=2
+version=5.0
+revision=1
 build_style=cmake
 make_check_target=check
-configure_args="-DWITH_SQL=0 -DWITH_PYTHON=1"
-hostmakedepends="pkg-config guile python3 libxslt perl gettext swig"
-makedepends="aqbanking-devel icu-devel boost-devel gc-devel glib-devel gtest-devel guile-devel
- gwenhywfar-devel ktoblzcheck-devel libofx-devel libsecret-devel
- libxslt-devel webkit2gtk-devel python3-devel gwenhywfar-gtk3 tzdata"
+configure_args="-DWITH_PYTHON=1 -DCOMPILE_GSCHEMAS=0"
+hostmakedepends="gettext guile libxslt perl pkg-config python3 swig"
+makedepends="aqbanking-devel boost-devel gc-devel glib-devel gtest-devel
+ guile-devel gwenhywfar-devel gwenhywfar-gtk3 icu-devel ktoblzcheck-devel
+ libdbi-devel libdbi-drivers-devel libofx-devel libsecret-devel libxslt-devel
+ python3-devel tzdata webkit2gtk-devel"
 depends="dconf guile perl"
 short_desc="Financial-accounting software"
 maintainer="ManfredU <mu@usselmann.it>"
 license="GPL-2.0-or-later"
 homepage="http://www.gnucash.org"
-distfiles="${SOURCEFORGE_SITE}/${pkgname}/${pkgname}-${version}.tar.bz2"
-checksum=401a158086635ea17fbb145325558537289aa1d24d022f7c3317e12f3dabd8e7
+changelog="https://raw.githubusercontent.com/Gnucash/gnucash/stable/NEWS"
+distfiles="${SOURCEFORGE_SITE}/gnucash/gnucash-${version}.tar.bz2"
+checksum=cfc13bab31aed8e4962805ef56530f9772889604910b5678cb5c79c283138824
 
 pycompile_dirs="usr/share/gnucash/python"
 conf_files="/etc/gnucash/environment"
@@ -30,14 +32,16 @@ if [ "$XBPS_TARGET_ENDIAN" = "be" ]; then
 fi
 
 post_install() {
-	case "$XBPS_TARGET_MACHINE" in
-		# startup fails in scheme code when the locale is set to anything
-		# else on musl
-		*-musl) sed -i -e 's/Exec=gnucash/Exec=env LANG=C gnucash/' \
-			${DESTDIR}/usr/share/applications/gnucash.desktop
-			;;
-	esac
-	rm -f "${DESTDIR}/usr/share/glib-2.0/schemas/gschemas.compiled"
+	vdoc "${FILESDIR}/README.voidlinux"
+	# startup fails in scheme code when the locale is set to anything else on musl
+	if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
+		vsed -i ${DESTDIR}/usr/share/applications/gnucash.desktop \
+			-e 's/Exec=gnucash/Exec=env LANG=C gnucash/'
+	fi
+	# Delete the gnucash-valgrind executable because the source files
+	# are not included with the package and the executable is hardlinked
+	# to the location that it was built at.
+	rm -f "${DESTDIR}/usr/bin/gnucash-valgrind"
 }
 
 gnucash-devel_package() {

  parent reply	other threads:[~2023-04-12 17:23 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-11  3:52 [PR PATCH] " cinerea0
2023-04-11  4:00 ` cinerea0
2023-04-11  4:14 ` [PR PATCH] [Updated] " cinerea0
2023-04-11  4:48 ` sgn
2023-04-11  5:20 ` cinerea0
2023-04-11 14:30 ` sgn
2023-04-11 18:17 ` cinerea0
2023-04-12  4:59 ` sgn
2023-04-12 17:23 ` cinerea0 [this message]
2023-04-12 18:14 ` [PR PATCH] [Updated] " cinerea0
2023-04-14  1:58 ` cinerea0
2023-04-14  2:29 ` cinerea0
2023-04-14  2:39 ` cinerea0
2023-04-14  2:46 ` cinerea0
2023-06-27 17:49 ` [PR PATCH] [Updated] [WIP] " cinerea0
2023-06-27 18:03 ` cinerea0
2023-06-27 18:09 ` cinerea0
2023-06-27 18:20 ` cinerea0
2023-06-27 18:41 ` cinerea0
2023-06-27 19:08 ` cinerea0
2023-06-27 19:26 ` cinerea0
2023-07-31 16:45 ` cinerea0
2023-07-31 17:00 ` cinerea0
2023-07-31 17:09 ` cinerea0
2023-07-31 17:15 ` cinerea0
2023-08-06 18:57 ` [PR PATCH] [Updated] gnucash: update to 5.3, " cinerea0
2023-08-09 17:26 ` [PR PATCH] [Merged]: " Duncaen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230412172341.7HrNHtTQ5EVYoGHkY-qQQ638nVRA9UbVN2fk3lZMxds@z \
    --to=cinerea0@users.noreply.github.com \
    --cc=ml@inbox.vuxu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).