From e4d6723b01f2b33f19282f35a8bc2b114d55a634 Mon Sep 17 00:00:00 2001 From: crazywhalecc Date: Tue, 3 Feb 2026 10:05:39 +0800 Subject: [PATCH] Add gettext --- config/pkg/lib/gettext.yml | 19 +++++++++++++ src/Package/Library/gettext.php | 48 +++++++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+) create mode 100644 config/pkg/lib/gettext.yml create mode 100644 src/Package/Library/gettext.php diff --git a/config/pkg/lib/gettext.yml b/config/pkg/lib/gettext.yml new file mode 100644 index 00000000..4be2e7d7 --- /dev/null +++ b/config/pkg/lib/gettext.yml @@ -0,0 +1,19 @@ +gettext: + type: library + artifact: + source: + type: filelist + url: 'https://ftp.gnu.org/pub/gnu/gettext/' + regex: '/href="(?gettext-(?[^"]+)\.tar\.xz)"/' + metadata: + license-files: [gettext-runtime/intl/COPYING.LIB] + license: LGPL-2.1-or-later + static-libs@unix: + - libintl.a + depends: + - libiconv + suggests: + - ncurses + - libxml2 + frameworks: + - CoreFoundation diff --git a/src/Package/Library/gettext.php b/src/Package/Library/gettext.php new file mode 100644 index 00000000..7af69905 --- /dev/null +++ b/src/Package/Library/gettext.php @@ -0,0 +1,48 @@ +optionalPackage('ncurses', "--with-libncurses-prefix={$pkg->getBuildRootPath()}") + ->optionalPackage('libxml2', "--with-libxml2-prefix={$pkg->getBuildRootPath()}") + ->addConfigureArgs( + '--disable-java', + '--disable-c++', + '--disable-d', + '--disable-rpath', + '--disable-modula2', + '--disable-libasprintf', + '--with-included-libintl', + "--with-iconv-prefix={$pkg->getBuildRootPath()}", + ); + + // zts + if ($builder->getOption('enable-zts')) { + $autoconf->addConfigureArgs('--enable-threads=isoc+posix') + ->appendEnv([ + 'CFLAGS' => '-lpthread -D_REENTRANT', + 'LDFLGAS' => '-lpthread', + ]); + } else { + $autoconf->addConfigureArgs('--disable-threads'); + } + + $autoconf->configure()->make(dir: "{$pkg->getSourceDir()}/gettext-runtime/intl"); + $pkg->patchLaDependencyPrefix(); + } +}