Re: [pacman-dev] [PATCH] build: add libintl dependency to meson and the .pc file

2020-06-10 Thread Allan McRae
On 19/5/20 5:18 am, Eli Schwartz wrote:
> In order to use gettext on systems where it is not part of libc, the
> correct linker flags are needed in libalpm.pc (for static compilation).
> This has never been the case.
> 
> The new meson build system currently only checks for ngettext in libc,
> but does not fall back to searching for the existence of -lintl; add it
> to the libalpm dependencies.
> 
> Signed-off-by: Eli Schwartz 
> ---
> 
> Fixes build on MSYS2, and possibly others. Part of
> https://github.com/msys2/MSYS2-packages/pull/1951
> 

>From that pull request, I can see the patch has been tested in the land
of MSYS2, so all good.

A


[pacman-dev] [PATCH] build: add libintl dependency to meson and the .pc file

2020-05-18 Thread Eli Schwartz
In order to use gettext on systems where it is not part of libc, the
correct linker flags are needed in libalpm.pc (for static compilation).
This has never been the case.

The new meson build system currently only checks for ngettext in libc,
but does not fall back to searching for the existence of -lintl; add it
to the libalpm dependencies.

Signed-off-by: Eli Schwartz 
---

Fixes build on MSYS2, and possibly others. Part of
https://github.com/msys2/MSYS2-packages/pull/1951

 lib/libalpm/libalpm.pc.in | 2 +-
 meson.build   | 8 ++--
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/lib/libalpm/libalpm.pc.in b/lib/libalpm/libalpm.pc.in
index 126a6e6a..da7f96aa 100644
--- a/lib/libalpm/libalpm.pc.in
+++ b/lib/libalpm/libalpm.pc.in
@@ -10,4 +10,4 @@ Version: @LIB_VERSION@
 Requires.private: libarchive @pc_crypto@ @pc_libcurl@ @pc_gpgme@
 Cflags: -I${includedir} @LFS_CFLAGS@
 Libs: -L${libdir} -lalpm
-Libs.private: @LIBS@ @pc_gpgme_libs@
+Libs.private: @LIBS@ @pc_gpgme_libs@ @LIBINTL@
diff --git a/meson.build b/meson.build
index 331f02b8..aa3bd4d9 100644
--- a/meson.build
+++ b/meson.build
@@ -77,9 +77,13 @@ conf.set_quoted('CACHEDIR', join_paths(LOCALSTATEDIR, 
'cache/pacman/pkg/'))
 conf.set_quoted('HOOKDIR', join_paths(SYSCONFDIR, 'pacman.d/hooks/'))
 conf.set_quoted('ROOTDIR', ROOTDIR)
 
+libintl = dependency('', required: false)
 if get_option('i18n')
   if not cc.has_function('ngettext')
-error('ngettext not found but NLS support requested')
+libintl = cc.find_library('intl', required : false, static: 
get_option('buildstatic'))
+if not libintl.found()
+  error('ngettext not found but NLS support requested')
+endif
   endif
   conf.set('ENABLE_NLS', 1)
 endif
@@ -301,7 +305,7 @@ libcommon = static_library(
   include_directories : includes,
   install : false)
 
-alpm_deps = [crypto_provider, libarchive, libcurl, gpgme]
+alpm_deps = [crypto_provider, libarchive, libcurl, libintl, gpgme]
 
 libalpm_a = static_library(
   'alpm_objlib',
-- 
2.26.2