diff --git a/config/pkg/lib/gettext.yml b/config/pkg/lib/gettext.yml index 4be2e7d7..5b1f57a6 100644 --- a/config/pkg/lib/gettext.yml +++ b/config/pkg/lib/gettext.yml @@ -8,12 +8,12 @@ gettext: metadata: license-files: [gettext-runtime/intl/COPYING.LIB] license: LGPL-2.1-or-later - static-libs@unix: - - libintl.a depends: - libiconv + frameworks: + - CoreFoundation + static-libs@unix: + - libintl.a suggests: - ncurses - libxml2 - frameworks: - - CoreFoundation diff --git a/config/pkg/lib/idn2.yml b/config/pkg/lib/idn2.yml index c2970d3e..5d2e2043 100644 --- a/config/pkg/lib/idn2.yml +++ b/config/pkg/lib/idn2.yml @@ -6,16 +6,16 @@ idn2: url: 'https://ftp.gnu.org/gnu/libidn/' regex: '/href="(?libidn2-(?[^"]+)\.tar\.gz)"/' metadata: - license-files: ['COPYING.LESSERv3'] + license-files: [COPYING.LESSERv3] license: LGPL-3.0-or-later - pkg-configs: - - libidn2 + depends@macos: + - libiconv + - gettext headers: - idn2.h + pkg-configs: + - libidn2 suggests@unix: - libiconv - gettext - libunistring - depends@macos: - - libiconv - - gettext diff --git a/config/pkg/lib/krb5.yml b/config/pkg/lib/krb5.yml new file mode 100644 index 00000000..305a95a1 --- /dev/null +++ b/config/pkg/lib/krb5.yml @@ -0,0 +1,23 @@ +krb5: + type: library + artifact: + source: + type: ghtagtar + repo: krb5/krb5 + match: krb5.+-final + metadata: + license-files: [NOTICE] + license: BSD-3-Clause + source-root: src + depends: + - openssl + frameworks: + - Kerberos + headers: + - krb5.h + - gssapi/gssapi.h + pkg-configs: + - krb5-gssapi + suggests: + - ldap + - libedit diff --git a/config/pkg/lib/libedit.yml b/config/pkg/lib/libedit.yml index c782238b..02d6dd81 100644 --- a/config/pkg/lib/libedit.yml +++ b/config/pkg/lib/libedit.yml @@ -7,9 +7,9 @@ libedit: regex: '/href="(?libedit-(?[^"]+)\.tar\.gz)"/' binary: hosted metadata: - license-files: ['COPYING'] + license-files: [COPYING] license: BSD-3-Clause - static-libs@unix: - - libedit.a depends: - ncurses + static-libs@unix: + - libedit.a diff --git a/config/pkg/lib/ncurses.yml b/config/pkg/lib/ncurses.yml index be50a6c7..cbc1ba67 100644 --- a/config/pkg/lib/ncurses.yml +++ b/config/pkg/lib/ncurses.yml @@ -7,6 +7,6 @@ ncurses: regex: '/href="(?ncurses-(?[^"]+)\.tar\.gz)"/' binary: hosted metadata: - license-files: ['COPYING'] + license-files: [COPYING] static-libs@unix: - libncurses.a diff --git a/config/pkg/lib/zlib.yml b/config/pkg/lib/zlib.yml index 9ca70f42..cf7f11ba 100644 --- a/config/pkg/lib/zlib.yml +++ b/config/pkg/lib/zlib.yml @@ -7,7 +7,7 @@ zlib: match: zlib.+\.tar\.gz binary: hosted metadata: - license-files: ['{registry_root}/src/globals/licenses/zlib.txt'] + license-files: ['@/zlib.txt'] license: Zlib-Custom headers: - zlib.h diff --git a/src/Package/Library/krb5.php b/src/Package/Library/krb5.php new file mode 100644 index 00000000..303c3b63 --- /dev/null +++ b/src/Package/Library/krb5.php @@ -0,0 +1,63 @@ +cd($lib->getSourceRoot())->exec('autoreconf -if'); + + $resolved = array_keys($installer->getResolvedPackages()); + $spc = new SPCConfigUtil(['no_php' => true, 'libs_only_deps' => true]); + $config = $spc->getPackageDepsConfig($lib->getName(), $resolved, include_suggests: true); + $extraEnv = [ + 'CFLAGS' => '-fcommon', + 'LIBS' => $config['libs'], + ]; + if (getenv('SPC_LD_LIBRARY_PATH') && getenv('SPC_LIBRARY_PATH')) { + $extraEnv = [...$extraEnv, ...[ + 'LD_LIBRARY_PATH' => getenv('SPC_LD_LIBRARY_PATH'), + 'LIBRARY_PATH' => getenv('SPC_LIBRARY_PATH'), + ]]; + } + $args = [ + '--disable-nls', + '--disable-rpath', + '--without-system-verto', + ]; + if (SystemTarget::getTargetOS() === 'Darwin') { + $extraEnv['LDFLAGS'] = '-framework Kerberos'; + $args[] = 'ac_cv_func_secure_getenv=no'; + } + UnixAutoconfExecutor::create($lib) + ->appendEnv($extraEnv) + ->optionalPackage('ldap', '--with-ldap', '--without-ldap') + ->optionalPackage('libedit', '--with-libedit', '--without-libedit') + ->configure(...$args) + ->make(); + $lib->patchPkgconfPrefix([ + 'krb5-gssapi.pc', + 'krb5.pc', + 'kadm-server.pc', + 'kadm-client.pc', + 'kdb.pc', + 'mit-krb5-gssapi.pc', + 'mit-krb5.pc', + 'gssrpc.pc', + ]); + } +}