New package: libgnt-2.14.2.

This commit is contained in:
tibequadorian 2021-08-01 10:40:12 +02:00 committed by Érico Nogueira Rolim
parent fa8fd2a3fd
commit 5c8f387f1a
4 changed files with 162 additions and 2 deletions

View file

@ -1 +0,0 @@
pidgin

View file

@ -1 +1 @@
pidgin
libgnt

View file

@ -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',

31
srcpkgs/libgnt/template Normal file
View file

@ -0,0 +1,31 @@
# Template file for 'libgnt'
pkgname=libgnt
version=2.14.2
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="Orphaned <orphan@voidlinux.org>"
license="GPL-2.0-or-later"
homepage="https://keep.imfreedom.org/libgnt/"
distfiles="${SOURCEFORGE_SITE}/pidgin/libgnt/${version}/libgnt-${version}.tar.xz"
checksum=61cf74b14eef10868b2d892e975aa78614f094c8f4d30dfd1aaedf52e6120e75
pre_configure() {
# disable doc for cross builds
if [ "$CROSS_BUILD" ]; then
vsed -i "/subdir('doc')/d" meson.build
fi
}
libgnt-devel_package() {
depends="libglib-devel libgnt>=${version}_${revision}"
short_desc+=" - development files"
pkg_install() {
vmove usr/include
vmove usr/lib/pkgconfig
vmove usr/lib/libgnt.so
}
}