From: zen0bit <zen0bit@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] geany: update to 2.0.0
Date: Sun, 14 Jan 2024 20:37:42 +0100 [thread overview]
Message-ID: <20240114193742.DFF0823C59@inbox.vuxu.org> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-46783@inbox.vuxu.org>
[-- Attachment #1: Type: text/plain, Size: 466 bytes --]
There is an updated pull request by zen0bit against master on the void-packages repository
https://github.com/oSoWoSo/VUR geany
https://github.com/void-linux/void-packages/pull/46783
geany: update to 2.0.0
#### Testing the changes
- I tested the changes in this PR: **briefly**
#### Local build testing
- I built this PR locally for my native architecture, (x64 libc)
A patch file from https://github.com/void-linux/void-packages/pull/46783.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-geany-46783.patch --]
[-- Type: text/x-diff, Size: 12694 bytes --]
From ef0ddd6313bd2bfce3a7f809c7e62e38afe39db0 Mon Sep 17 00:00:00 2001
From: zenobit <zen@osowoso.xyz>
Date: Thu, 19 Oct 2023 21:54:42 +0200
Subject: [PATCH 1/2] geany: update to 2.0.0
---
| 53 +++++++++++++++++++++++++++++
srcpkgs/geany/template | 17 +++++----
2 files changed, 63 insertions(+), 7 deletions(-)
create mode 100644 srcpkgs/geany/patches/sidebar.patch
--git a/srcpkgs/geany/patches/sidebar.patch b/srcpkgs/geany/patches/sidebar.patch
new file mode 100644
index 0000000000000..d334cfd9d43b0
--- /dev/null
+++ b/srcpkgs/geany/patches/sidebar.patch
@@ -0,0 +1,53 @@
+From a7b4dbb144c8dfa788a087298a0b47183e92a107 Mon Sep 17 00:00:00 2001
+From: 6t8k <58048945+6t8k@users.noreply.github.com>
+Date: Sun, 5 Nov 2023 17:01:31 +0100
+Subject: [PATCH] Skip `tests/test_sidebar` if GTK initialisation fails
+
+This may happen in headless environments.
+
+The return value of `gtk_init_check` was not examined before; according
+to [1], "calling any GTK function or instantiating any GTK type after
+this function returns FALSE results in undefined behavior."
+
+The value 77 can be returned to tell Automake and Meson that the test
+was skipped.[2][3][4]
+
+Fixes #3674
+
+[1] https://docs.gtk.org/gtk3/func.init_check.html
+[2] https://www.gnu.org/software/automake/manual/automake.html#index-Exit-status-77_002c-special-interpretation
+[3] https://docs.gtk.org/glib/func.test_run.html
+[4] https://mesonbuild.com/Unit-tests.html#skipped-tests-and-hard-errors
+---
+ tests/test_sidebar.c | 17 +++++++++++++----
+ 1 file changed, 13 insertions(+), 4 deletions(-)
+
+diff --git a/tests/test_sidebar.c b/tests/test_sidebar.c
+index 9659dc72e7..c03d1aa649 100644
+--- a/tests/test_sidebar.c
++++ b/tests/test_sidebar.c
+@@ -137,12 +137,21 @@ void test_sidebar_openfiles_tree(void)
+
+ int main(int argc, char **argv)
+ {
+- g_test_init(&argc, &argv, NULL);
+- /* Not sure if we can really continue without DISPLAY. Fake X display perhaps?
++ /* In headless environments that do not provide a virtual display,
++ * GTK initialisation is expected to fail and gtk_init_check()
++ * will return FALSE. Calling any GTK function or instantiating
++ * any GTK type afterwards results in undefined behavior.
+ *
+- * This test seems to work, at least.
++ * By returning 77, we can tell test harnesses compatible with
++ * the GNU standard approach to regard the test as skipped.
+ */
+- gtk_init_check(&argc, &argv);
++ if (! gtk_init_check(&argc, &argv))
++ {
++ g_test_message("GTK initialization failed; skipping. Running inside a headless environment?");
++ return 77;
++ }
++
++ g_test_init(&argc, &argv, NULL);
+
+ main_init_headless();
diff --git a/srcpkgs/geany/template b/srcpkgs/geany/template
index aee031b264141..145493686ed7f 100644
--- a/srcpkgs/geany/template
+++ b/srcpkgs/geany/template
@@ -1,20 +1,23 @@
# Template file for 'geany'
pkgname=geany
-version=1.38
+version=2.0.0
revision=1
build_style=gnu-configure
-configure_args="--enable-vte --enable-gtk3"
-hostmakedepends="pkg-config libtool intltool"
-makedepends="gtk+3-devel"
+configure_args="--host=${arch}"
+hostmakedepends="pkg-config automake autoconf intltool libtool python3-docutils gettext-devel-tools"
+makedepends="gtk+3-devel libglib-devel"
depends="hicolor-icon-theme desktop-file-utils"
short_desc="Fast and lightweight IDE"
maintainer="Benjamín Albiñana <benalb@gmail.com>"
license="GPL-2.0-or-later"
homepage="https://www.geany.org"
changelog="https://raw.githubusercontent.com/geany/geany/master/NEWS"
-distfiles="https://download.${pkgname}.org/${pkgname}-${version}.tar.bz2"
-checksum=abff176e4d48bea35ee53037c49c82f90b6d4c23e69aed6e4a5ca8ccd3aad546
-python_version=3
+distfiles="https://github.com/geany/geany/archive/refs/tags/${version}.tar.gz"
+checksum=a744ab9ae3e58b371de4b50990c44227c499f82e2a8ee6753307ef107748e4df
+
+pre_configure() {
+ ./autogen.sh --host
+}
geany-devel_package() {
depends="libglib-devel gtk+3-devel ${sourcepkg}>=${version}_${revision}"
From 89afcc8c725be302042c9a202b15df7f4cafd981 Mon Sep 17 00:00:00 2001
From: zenobit <zen@osowoso.xyz>
Date: Thu, 19 Oct 2023 21:54:49 +0200
Subject: [PATCH 2/2] geany-plugins: update to 2.0.0
---
...ebar-Simplify-libgit2-version-checks.patch | 49 -------
...hangebar-Add-support-for-libgit2-1.4.patch | 124 ------------------
srcpkgs/geany-plugins/template | 8 +-
3 files changed, 4 insertions(+), 177 deletions(-)
delete mode 100644 srcpkgs/geany-plugins/patches/0001-git-changebar-Simplify-libgit2-version-checks.patch
delete mode 100644 srcpkgs/geany-plugins/patches/0002-git-changebar-Add-support-for-libgit2-1.4.patch
diff --git a/srcpkgs/geany-plugins/patches/0001-git-changebar-Simplify-libgit2-version-checks.patch b/srcpkgs/geany-plugins/patches/0001-git-changebar-Simplify-libgit2-version-checks.patch
deleted file mode 100644
index 29d3ef78fd90f..0000000000000
--- a/srcpkgs/geany-plugins/patches/0001-git-changebar-Simplify-libgit2-version-checks.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 668f5d07eef16e227402eab09141c738b315d94b Mon Sep 17 00:00:00 2001
-From: Colomban Wendling <ban@herbesfolles.org>
-Date: Sun, 5 Jun 2022 23:11:20 +0200
-Subject: [PATCH 1/2] git-changebar: Simplify libgit2 version checks
-
-Introduce a custom macro for libgit2 version checks for them to be both
-easier to read and write.
----
- git-changebar/src/gcb-plugin.c | 14 +++++++++++---
- 1 file changed, 11 insertions(+), 3 deletions(-)
-
-diff --git a/git-changebar/src/gcb-plugin.c b/git-changebar/src/gcb-plugin.c
-index f8ce20cd..bee8c865 100644
---- a/git-changebar/src/gcb-plugin.c
-+++ b/git-changebar/src/gcb-plugin.c
-@@ -32,11 +32,19 @@
- #include <geany.h>
- #include <document.h>
-
--#if ! defined (LIBGIT2_VER_MINOR) || ( (LIBGIT2_VER_MAJOR == 0) && (LIBGIT2_VER_MINOR < 22) )
-+#ifdef LIBGIT2_VER_MINOR
-+# define CHECK_LIBGIT2_VERSION(MAJOR, MINOR) \
-+ ((LIBGIT2_VER_MAJOR == (MAJOR) && LIBGIT2_VER_MINOR >= (MINOR)) || \
-+ LIBGIT2_VER_MAJOR > (MAJOR))
-+#else /* ! defined(LIBGIT2_VER_MINOR) */
-+# define CHECK_LIBGIT2_VERSION(MAJOR, MINOR) 0
-+#endif
-+
-+#if ! CHECK_LIBGIT2_VERSION(0, 22)
- # define git_libgit2_init git_threads_init
- # define git_libgit2_shutdown git_threads_shutdown
- #endif
--#if ! defined (LIBGIT2_VER_MINOR) || ( (LIBGIT2_VER_MAJOR == 0) && (LIBGIT2_VER_MINOR < 23) )
-+#if ! CHECK_LIBGIT2_VERSION(0, 23)
- /* 0.23 added @p binary_cb */
- # define git_diff_buffers(old_buffer, old_len, old_as_path, \
- new_buffer, new_len, new_as_path, options, \
-@@ -45,7 +53,7 @@
- new_buffer, new_len, new_as_path, options, \
- file_cb, hunk_cb, line_cb, payload)
- #endif
--#if ! defined (LIBGIT2_VER_MINOR) || ( (LIBGIT2_VER_MAJOR == 0) && (LIBGIT2_VER_MINOR < 28) )
-+#if ! CHECK_LIBGIT2_VERSION(0, 28)
- # define git_buf_dispose git_buf_free
- # define git_error_last giterr_last
- #endif
---
-2.38.0
-
diff --git a/srcpkgs/geany-plugins/patches/0002-git-changebar-Add-support-for-libgit2-1.4.patch b/srcpkgs/geany-plugins/patches/0002-git-changebar-Add-support-for-libgit2-1.4.patch
deleted file mode 100644
index 3de6e09df7cc3..0000000000000
--- a/srcpkgs/geany-plugins/patches/0002-git-changebar-Add-support-for-libgit2-1.4.patch
+++ /dev/null
@@ -1,124 +0,0 @@
-From 5d9f1bc6d010e6b4c6a21af8a39b90922f89a82c Mon Sep 17 00:00:00 2001
-From: Colomban Wendling <ban@herbesfolles.org>
-Date: Sun, 5 Jun 2022 23:22:59 +0200
-Subject: [PATCH 2/2] git-changebar: Add support for libgit2 1.4
-
-The buffer API changed a lot in libgit2 1.4, so compatibility is a bit
-nastier than one could hope for.
-
-Fixes #1164.
----
- git-changebar/src/gcb-plugin.c | 76 ++++++++++++++++++++++++----------
- 1 file changed, 54 insertions(+), 22 deletions(-)
-
-diff --git a/git-changebar/src/gcb-plugin.c b/git-changebar/src/gcb-plugin.c
-index bee8c865..76208cd0 100644
---- a/git-changebar/src/gcb-plugin.c
-+++ b/git-changebar/src/gcb-plugin.c
-@@ -219,30 +219,19 @@ static const struct {
- };
-
-
--/* workaround https://github.com/libgit2/libgit2/pull/3187 */
--static int
--gcb_git_buf_grow (git_buf *buf,
-- size_t target_size)
--{
-- if (buf->asize == 0) {
-- if (target_size == 0) {
-- target_size = buf->size;
-- }
-- if ((target_size & 7) == 0) {
-- target_size++;
-- }
-- }
-- return git_buf_grow (buf, target_size);
--}
--#define git_buf_grow gcb_git_buf_grow
--
- static void
- buf_zero (git_buf *buf)
- {
- if (buf) {
- buf->ptr = NULL;
- buf->size = 0;
-+#if ! CHECK_LIBGIT2_VERSION(1, 4)
- buf->asize = 0;
-+#else
-+ /* we don't really need this field, but the documentation states that all
-+ * fields should be set to 0, so fill it as well */
-+ buf->reserved = 0;
-+#endif
- }
- }
-
-@@ -256,6 +245,52 @@ clear_cached_blob_contents (void)
- G_blob_contents_tag = 0;
- }
-
-+/* similar to old git_blob_filtered_content() but makes sure the caller owns
-+ * the data in the output buffer -- and uses a boolean return */
-+static gboolean
-+get_blob_contents (git_buf *out,
-+ git_blob *blob,
-+ const char *as_path,
-+ int check_for_binary_data)
-+{
-+/* libgit2 1.4 changed buffer API quite a bit */
-+#if ! CHECK_LIBGIT2_VERSION(1, 4)
-+ gboolean success = TRUE;
-+
-+ if (git_blob_filtered_content (out, blob, as_path,
-+ check_for_binary_data) != 0)
-+ return FALSE;
-+
-+ /* Workaround for https://github.com/libgit2/libgit2/pull/3187
-+ * We want to own the buffer, which git_buf_grow(buf, 0) was supposed to do,
-+ * but there is a corner case where it doesn't do what it should and
-+ * truncates the buffer contents, so we fix this manually. */
-+ if (out->asize == 0) {
-+ size_t target_size = out->size;
-+ if ((target_size & 7) == 0) {
-+ target_size++;
-+ }
-+ success = (git_buf_grow (out, target_size) == 0);
-+ }
-+
-+ return success;
-+#else /* libgit2 >= 1.4 */
-+ /* Here we can assume we will always get a buffer we own (at least as of
-+ * 2022-06-05 it is the case), so there's no need for a pendent to the
-+ * previous git_buf_grow() shenanigans.
-+ * This code path does the same as the older git_blob_filtered_content()
-+ * but with non-deprecated API */
-+ git_blob_filter_options opts = GIT_BLOB_FILTER_OPTIONS_INIT;
-+
-+ if (check_for_binary_data)
-+ opts.flags |= GIT_BLOB_FILTER_CHECK_FOR_BINARY;
-+ else
-+ opts.flags &= ~GIT_BLOB_FILTER_CHECK_FOR_BINARY;
-+
-+ return git_blob_filter(out, blob, as_path, &opts) == 0;
-+#endif
-+}
-+
- /* get the file blob for @relpath at HEAD */
- static gboolean
- repo_get_file_blob_contents (git_repository *repo,
-@@ -279,11 +314,8 @@ repo_get_file_blob_contents (git_repository *repo,
- git_blob *blob;
-
- if (git_blob_lookup (&blob, repo, git_tree_entry_id (entry)) == 0) {
-- if (git_blob_filtered_content (contents, blob, relpath,
-- check_for_binary_data) == 0 &&
-- git_buf_grow (contents, 0) == 0) {
-- success = TRUE;
-- }
-+ success = get_blob_contents (contents, blob, relpath,
-+ check_for_binary_data);
- git_blob_free (blob);
- }
- git_tree_entry_free (entry);
---
-2.38.0
-
diff --git a/srcpkgs/geany-plugins/template b/srcpkgs/geany-plugins/template
index f0bb0b04ed80b..480fccc062350 100644
--- a/srcpkgs/geany-plugins/template
+++ b/srcpkgs/geany-plugins/template
@@ -1,12 +1,12 @@
# Template file for 'geany-plugins'
pkgname=geany-plugins
-version=1.38.0
-revision=3
+version=2.0.0
+revision=1
build_style=gnu-configure
configure_args="--enable-all-plugins --disable-devhelp
--disable-webhelper --disable-debugger --disable-geanypy --disable-multiterm"
hostmakedepends="automake gettext-devel intltool libtool pkg-config vala
- glib-devel"
+ glib-devel ncurses-devel"
makedepends="geany-devel lua51-devel ctpl-devel zlib-devel
gpgme-devel enchant2-devel libgit2-devel libsoup-devel
gtkspell-devel webkit2gtk-devel vte3-devel"
@@ -16,7 +16,7 @@ license="GPL-2.0-or-later"
homepage="http://plugins.geany.org"
changelog="https://raw.githubusercontent.com/geany/geany-plugins/master/NEWS"
distfiles="https://github.com/geany/${pkgname}/archive/${version}.tar.gz"
-checksum=86d2fe05290136d020b0d22f849a1aaa74b83cb49b767ae2dc19aaedcdf3d469
+checksum=a706c37cd6441a1418a2538857a503550d70860e913f3aa9a66f9fb1a0b26489
pre_configure() {
NOCONFIGURE=1 ./autogen.sh
next prev parent reply other threads:[~2024-01-14 19:37 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-19 21:22 [PR PATCH] " zen0bit
2023-11-14 8:28 ` [PR PATCH] [Updated] " zen0bit
2023-11-14 8:33 ` zen0bit
2024-01-10 3:30 ` zen0bit
2024-01-10 8:51 ` zen0bit
2024-01-14 19:22 ` [PR PATCH] [Updated] " zen0bit
2024-01-14 19:37 ` zen0bit [this message]
2024-01-14 21:13 ` zen0bit
2024-01-14 21:13 ` zen0bit
2024-01-14 21:32 ` zen0bit
2024-02-29 0:20 ` [PR PATCH] [Closed]: " oreo639
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=20240114193742.DFF0823C59@inbox.vuxu.org \
--to=zen0bit@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).