Github messages for voidlinux
 help / color / mirror / Atom feed
From: mobinmob <mobinmob@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] Pidgin update.
Date: Sat, 20 Feb 2021 20:38:01 +0100	[thread overview]
Message-ID: <20210220193801.yPuMTj4r2TLkAIgJcnYz6KpR6WtAn7AJt_XRakG3j_g@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-27704@inbox.vuxu.org>

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

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

https://github.com/mobinmob/void-packages pidgin
https://github.com/void-linux/void-packages/pull/27704

Pidgin update.
- Update pidgin to 2.14.1.
- Add libgnt as a seperate package. It no longer resides in the pidgin source tree.

Built and tested on x86_64. libgnt does not cross-build as it fails to find ncurses:

```
Library ncursesw found: YES
Library panelw found: YES
Header </usr/include/ncursesw/ncurses.h> has symbol "get_wch" : NO 
Header </usr/include/ncurses.h> has symbol "get_wch" : NO 

meson.build:123:1: ERROR: Problem encountered: ncurses could not be found!
```

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

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

From 258d984468729ce62e21330c0535b756ccad23d1 Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Fri, 19 Feb 2021 14:06:00 +0200
Subject: [PATCH 1/2] New package: libgnt-2.14.1.

---
 srcpkgs/libgnt                        |   1 -
 srcpkgs/libgnt-devel                  |   2 +-
 srcpkgs/libgnt/patches/cross-fix.diff | 130 ++++++++++++++++++++++++++
 srcpkgs/libgnt/template               |  25 +++++
 4 files changed, 156 insertions(+), 2 deletions(-)
 delete mode 120000 srcpkgs/libgnt
 create mode 100644 srcpkgs/libgnt/patches/cross-fix.diff
 create mode 100644 srcpkgs/libgnt/template

diff --git a/srcpkgs/libgnt b/srcpkgs/libgnt
deleted file mode 120000
index d5dc3b19c84..00000000000
--- a/srcpkgs/libgnt
+++ /dev/null
@@ -1 +0,0 @@
-pidgin
\ No newline at end of file
diff --git a/srcpkgs/libgnt-devel b/srcpkgs/libgnt-devel
index d5dc3b19c84..28acf62a72a 120000
--- a/srcpkgs/libgnt-devel
+++ b/srcpkgs/libgnt-devel
@@ -1 +1 @@
-pidgin
\ No newline at end of file
+libgnt
\ No newline at end of file
diff --git a/srcpkgs/libgnt/patches/cross-fix.diff b/srcpkgs/libgnt/patches/cross-fix.diff
new file mode 100644
index 00000000000..060ced3d0c1
--- /dev/null
+++ b/srcpkgs/libgnt/patches/cross-fix.diff
@@ -0,0 +1,130 @@
+diff --git a/meson.build b/meson.build
+index 1084c82..7f824b9 100644
+--- a/meson.build
++++ b/meson.build
+@@ -70,67 +70,77 @@ gnt_config.set('NO_LIBXML', not libxml.found())
+ # Check for ncurses and other things used by it
+ #######################################################################
+ ncurses_available = true
+-ncurses_inc = []
+-# The order of this list is important to the condition that follows.
+-ncurses_libs = [
+-	compiler.find_library('ncursesw', required : false),
+-	compiler.find_library('panelw', required : false),
+-	compiler.find_library('tinfow', required : false),
++ncurses_widechar = true
++ncurses_header = 'ncurses.h'
++# Some distros put the headers in ncursesw/, some don't. These are ordered to
++# pick the last available as most-specific version.
++ncursesw_header_paths = ['', 'ncursesw/']
++ncurses = [
++	dependency('ncursesw', required : false),
++	dependency('panelw', required : false),
+ ]
+-if not ncurses_libs[0].found() or not ncurses_libs[1].found()
+-	ncurses_available = false
+-endif
+-
+-if host_machine.system() == 'windows'
+-	# FIXME: $host ?
+-	ncurses_sys_prefix = '/usr/$host/sys-root/mingw'
++if ncurses[0].found() and ncurses[1].found()
++	foreach location : ncursesw_header_paths
++		f = location + 'ncurses.h'
++		if compiler.has_header_symbol(f, 'get_wch',
++		    prefix : '#define _XOPEN_SOURCE_EXTENDED')
++			ncurses_header = f
++		endif
++	endforeach
+ else
+-	ncurses_sys_prefix = '/usr'
+-endif
+-
+-ncurses_sys_dirs = [ncurses_sys_prefix + '/include/ncursesw',
+-                    ncurses_sys_prefix + '/include']
+-
+-if ncurses_available
+-	# Some distros put the headers in ncursesw/, some don't
+-	found_ncurses_h = false
+-	foreach location : ncurses_sys_dirs
+-		f = location + '/ncurses.h'
+-		if not found_ncurses_h
++	ncurses_available = false
++	ncurses_inc = []
++	ncurses_libs = [
++		compiler.find_library('ncursesw', required : false),
++		compiler.find_library('panelw', required : false)
++	]
++	if ncurses_libs[0].found() and ncurses_libs[1].found()
++		foreach location : ncursesw_header_paths
++			f = location + 'ncurses.h'
+ 			if compiler.has_header_symbol(f, 'get_wch',
+ 			    prefix : '#define _XOPEN_SOURCE_EXTENDED')
+-				if location != '.'
+-					ncurses_inc += [include_directories(location)]
+-				endif
+-				found_ncurses_h = true
++				ncurses_available = true
++				ncurses_header = f
+ 			endif
++		endforeach
++		if ncurses_available
++			ncurses = declare_dependency(
++			    include_directories : ncurses_inc,
++			    dependencies : ncurses_libs
++			)
+ 		endif
+-	endforeach
+-
+-	if not found_ncurses_h
+-		ncurses_inc = []
+-		ncurses_libs = []
+-		ncurses_available = false
+ 	endif
+-else
++endif
++if not ncurses_available
+ 	# ncursesw was not found. Look for plain old ncurses
+-	# The order of this list is important to the condition that follows.
+-	ncurses_libs = [
+-		compiler.find_library('ncurses', required : false),
+-		compiler.find_library('panel', required : false),
+-		compiler.find_library('tinfo', required : false),
++	ncurses = [
++		dependency('ncurses', required : false),
++		dependency('panel', required : false),
+ 	]
+-	ncurses_available = ncurses_libs[0].found() and ncurses_libs[1].found()
+-	gnt_config.set('NO_WIDECHAR', true)
++	if ncurses[0].found() and ncurses_libs[1].found()
++		ncurses_available = true
++	else
++		ncurses_libs = [
++			compiler.find_library('ncurses', required : false),
++			compiler.find_library('panel', required : false),
++		]
++		ncurses_available = ncurses_libs[0].found() and ncurses_libs[1].found()
++		ncurses = declare_dependency(dependencies : ncurses_libs)
++	endif
++	ncurses_widechar = false
++endif
++if not ncurses_available and host_machine.system() == 'windows'
++	# Try pdcurses too.
++	ncurses_header = 'curses.h'
++	ncurses_libs = compiler.find_library('pdcurses', required : false)
++	ncurses_available = compiler.has_header(ncurses_header) and ncurses_libs.found()
++	ncurses = declare_dependency(dependencies : ncurses_libs)
+ endif
+ if not ncurses_available
+ 	error('ncurses could not be found!')
+ endif
+-
+-ncurses = declare_dependency(
+-    include_directories : ncurses_inc,
+-    dependencies : ncurses_libs
+-)
++gnt_config.set('NCURSES_HEADER', ncurses_header)
++gnt_config.set10('NCURSES_WIDECHAR', ncurses_widechar)
+ 
+ libgnt_SOURCES = [
+ 	'gntwidget.c',
diff --git a/srcpkgs/libgnt/template b/srcpkgs/libgnt/template
new file mode 100644
index 00000000000..9be0bc6092f
--- /dev/null
+++ b/srcpkgs/libgnt/template
@@ -0,0 +1,25 @@
+# Template file for 'libgnt'
+pkgname=libgnt
+version=2.14.1
+revision=1
+build_style=meson
+build_helper=gir
+hostmakedepends="pkg-config glib-devel gtk-doc"
+makedepends="libxml2-devel ncurses-devel python3-devel glib-devel gtk-doc"
+short_desc="GLib Ncurses Toolkit"
+maintainer="mobinmob <mobinmob@disroot.org>"
+license="GPL-2.0-or-later"
+homepage="https://keep.imfreedom.org/libgnt/"
+distfiles="${SOURCEFORGE_SITE}/pidgin/libgnt/${version}/libgnt-${version}.tar.xz"
+checksum=5ec3e68e18f956e9998d79088b299fa3bca689bcc95c86001bc5da17c1eb4bd8
+patch_args=" -Np1"
+
+libgnt-devel_package() {
+	depends="libglib-devel libgnt>=${version}_${revision}"
+	short_desc="IM library extracted from Pidgin (GNT) - development files"
+	pkg_install() {
+		vmove usr/include/gnt
+		vmove usr/lib/pkgconfig/gnt.pc
+		vmove usr/lib/libgnt.so
+	}
+}

From 3fe51b127616acd5260d2b21ea6260689564fe4f Mon Sep 17 00:00:00 2001
From: mobinmob <mobinmob@disroot.org>
Date: Fri, 19 Feb 2021 14:06:07 +0200
Subject: [PATCH 2/2] pidgin: update to 2.14.1.

---
 .../patches/01-configure_ac-libnm_pc.patch    | 11 -------
 .../patches/02-libpurple-nm_state.patch       | 19 ------------
 srcpkgs/pidgin/template                       | 30 +++++--------------
 3 files changed, 7 insertions(+), 53 deletions(-)
 delete mode 100644 srcpkgs/pidgin/patches/01-configure_ac-libnm_pc.patch
 delete mode 100644 srcpkgs/pidgin/patches/02-libpurple-nm_state.patch

diff --git a/srcpkgs/pidgin/patches/01-configure_ac-libnm_pc.patch b/srcpkgs/pidgin/patches/01-configure_ac-libnm_pc.patch
deleted file mode 100644
index 0bc02926559..00000000000
--- a/srcpkgs/pidgin/patches/01-configure_ac-libnm_pc.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- configure.ac	2018-03-08 07:22:25.000000000 +0100
-+++ configure.ac	2020-02-11 04:14:37.777681920 +0100
-@@ -1428,7 +1428,7 @@
- dnl Check for NetworkManager.h; if we don't have it, oh well
- if test "x$enable_dbus" = "xyes" ; then
- 	if test "x$enable_nm" = "xyes" ; then
--		PKG_CHECK_MODULES(NETWORKMANAGER, [NetworkManager >= 0.5.0], [
-+		PKG_CHECK_MODULES(NETWORKMANAGER, [libnm >= 0.5.0], [
- 			AC_SUBST(NETWORKMANAGER_CFLAGS)
- 			AC_SUBST(NETWORKMANAGER_LIBS)
- 			AC_DEFINE(HAVE_NETWORKMANAGER, 1, [Define if we have NetworkManager.])
diff --git a/srcpkgs/pidgin/patches/02-libpurple-nm_state.patch b/srcpkgs/pidgin/patches/02-libpurple-nm_state.patch
deleted file mode 100644
index 802d64b89f2..00000000000
--- a/srcpkgs/pidgin/patches/02-libpurple-nm_state.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- libpurple/network.c	2018-03-06 07:00:49.000000000 +0100
-+++ libpurple/network.c	2020-02-11 04:30:20.163644344 +0100
-@@ -939,8 +939,16 @@
- #if NM_CHECK_VERSION(0,8,992)
- 		case NM_STATE_DISCONNECTING:
- #endif
-+#if NM_CHECK_VERSION(0,8,992)
-+			if (prev != NM_STATE_CONNECTED_LOCAL &&
-+				prev != NM_STATE_CONNECTED_SITE &&
-+				prev != NM_STATE_CONNECTED_GLOBAL &&
-+				prev != NM_STATE_UNKNOWN)
-+				break;
-+#else
- 			if (prev != NM_STATE_CONNECTED && prev != NM_STATE_UNKNOWN)
- 				break;
-+#endif
- 			if (ui_ops != NULL && ui_ops->network_disconnected != NULL)
- 				ui_ops->network_disconnected();
- 			break;
diff --git a/srcpkgs/pidgin/template b/srcpkgs/pidgin/template
index a2668cf685e..2d8b80a409e 100644
--- a/srcpkgs/pidgin/template
+++ b/srcpkgs/pidgin/template
@@ -1,12 +1,12 @@
 # Template file for 'pidgin'
 pkgname=pidgin
-version=2.13.0
-revision=3
+version=2.14.1
+revision=1
 build_style=gnu-configure
 configure_args="--disable-schemas-install --disable-meanwhile
  --enable-cyrus-sasl --disable-doxygen --enable-nm --enable-vv
  --with-system-ssl-certs=/etc/ssl/certs --disable-tk --disable-tcl
- --disable-gnutls --disable-perl
+ --disable-gnutls --disable-perl --enable-consoleui
  --with-ncurses-headers=${XBPS_CROSS_BASE}/usr/include
  --with-avahi-client-includes=${XBPS_CROSS_BASE}/usr/include
  --with-avahi-client-libs=${XBPS_CROSS_BASE}/usr/lib"
@@ -15,8 +15,8 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
 homepage="https://pidgin.im/"
 distfiles="${SOURCEFORGE_SITE}/pidgin/pidgin-${version}.tar.bz2"
-checksum=2747150c6f711146bddd333c496870bfd55058bab22ffb7e4eb784018ec46d8f
-python_version=2 #unverified
+checksum=f132e18d551117d9e46acce29ba4f40892a86746c366999166a3862b51060780
+python_version=2
 lib32disabled=yes
 
 hostmakedepends="pkg-config intltool automake libtool gettext gettext-devel glib-devel"
@@ -24,7 +24,7 @@ makedepends="libglib-devel gtk+-devel libXext-devel
  libXScrnSaver-devel gtkspell-devel startup-notification-devel ncurses-devel
  libxml2-devel gst-plugins-base1-devel libidn-devel python-devel
  avahi-glib-libs-devel dbus-glib-devel NetworkManager-devel nss-devel
- libsasl-devel libSM-devel farstream-devel"
+ libsasl-devel libSM-devel farstream-devel libgnt-devel"
 depends="cyrus-sasl-modules gst-plugins-good1"
 
 CFLAGS="-Wno-deprecated-declarations"
@@ -55,23 +55,7 @@ libpurple-devel_package() {
 		vmove usr/share/aclocal/purple.m4
 	}
 }
-libgnt_package() {
-	short_desc="IM library extracted from Pidgin (GNT)"
-	pkg_install() {
-		vmove "usr/lib/libgnt*.so*"
-		vmove usr/lib/finch
-		vmove usr/lib/gnt
-	}
-}
-libgnt-devel_package() {
-	depends="libglib-devel libgnt>=${version}_${revision}"
-	short_desc="IM library extracted from Pidgin (GNT) - development files"
-	pkg_install() {
-		vmove usr/include/gnt
-		vmove usr/lib/pkgconfig/gnt.pc
-		vmove usr/lib/libgnt.so
-	}
-}
+
 finch_package() {
 	short_desc="Ncurses-based messaging client"
 	pkg_install() {

  parent reply	other threads:[~2021-02-20 19:38 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-05 22:46 [PR PATCH] " mobinmob
2021-01-06  8:29 ` fosslinux
2021-01-06  8:29 ` fosslinux
2021-01-06  8:29 ` fosslinux
2021-01-29  4:01 ` ericonr
2021-02-18  5:33 ` ericonr
2021-02-18  5:33 ` ericonr
2021-02-18  5:33 ` ericonr
2021-02-18 20:07 ` mobinmob
2021-02-19 11:44 ` [PR PATCH] [Updated] " mobinmob
2021-02-19 12:06 ` mobinmob
2021-02-20 19:38 ` mobinmob [this message]
2021-02-20 19:51 ` mobinmob
2021-04-03  3:38 ` ericonr
2021-04-04 12:34 ` mobinmob
2021-04-04 15:51 ` mobinmob
2021-04-04 15:52 ` mobinmob
2021-04-04 15:53 ` mobinmob
2021-04-04 15:53 ` mobinmob
2021-04-04 15:54 ` mobinmob
2021-05-23 15:07 ` [PR PATCH] [Closed]: " mobinmob

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=20210220193801.yPuMTj4r2TLkAIgJcnYz6KpR6WtAn7AJt_XRakG3j_g@z \
    --to=mobinmob@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).