commit:     2492d2b670ec0806f7dac7455d4e89b2e6d53bc7
Author:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
AuthorDate: Thu Feb  3 18:57:14 2022 +0000
Commit:     Ronny Gutbrod <gentoo <AT> tastytea <DOT> de>
CommitDate: Sat Mar  5 01:34:27 2022 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=2492d2b6

sys-libs/safeclib: add 3.7.1

Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com>

 sys-libs/safeclib/Manifest              |   1 +
 sys-libs/safeclib/metadata.xml          |   1 +
 sys-libs/safeclib/safeclib-3.7.1.ebuild | 108 ++++++++++++++++++++++++++++++++
 3 files changed, 110 insertions(+)

diff --git a/sys-libs/safeclib/Manifest b/sys-libs/safeclib/Manifest
index 88caccb0e..6dbb2767a 100644
--- a/sys-libs/safeclib/Manifest
+++ b/sys-libs/safeclib/Manifest
@@ -1 +1,2 @@
 DIST safeclib-3.6.0_p20210407.tar.gz 2281868 BLAKE2B 
1690f4ac7504cdd37cd353cd0ddab8d9807a583113a5893fd0633c69b7434c3eecf361ae501570819bb8d75a057c0c861f6c594429162558c73330bcd2c04df5
 SHA512 
2e21a06b4a423ea7a7782b101ba9f0e8a60efaaec49314360014ebae02d0a02a4275ccecc618560b08dc357b9fbb4c5b220db70012728dbb3815635e8dad16c8
+DIST safeclib-3.7.1.tar.xz 539072 BLAKE2B 
55e828f2c195325a9a3648f57d1e60a6657289ff03ebe626d5884f41014d747591fd2240286d4060ffc58c368e68464bed49eb34a5d78cdd1e204861ca8425cc
 SHA512 
bf43e3a94855b7b12df6a3c88a534c40297df40259e4930dc1b98117b381c5bfaa2e4f17748e731bb6065c02d47ba98d50e336d60cf60e62d4fa0a6b45de53c1

diff --git a/sys-libs/safeclib/metadata.xml b/sys-libs/safeclib/metadata.xml
index 846350706..d434a3c62 100644
--- a/sys-libs/safeclib/metadata.xml
+++ b/sys-libs/safeclib/metadata.xml
@@ -49,5 +49,6 @@ The C11 Standard adopted many of these points, and added some 
secure _s variants
                <flag name="nullslack">enable to null out the remaining part of 
a string if it is not completely used</flag>
                <flag name="unsafe">Include unsafe std C11 functions: 
tmpnam_s</flag>
                <flag name="valgrind">enable Valgrind on the unit tests</flag>
+               <flag name="wchar">enable multibyte and wchar support</flag>
        </use>
 </pkgmetadata>

diff --git a/sys-libs/safeclib/safeclib-3.7.1.ebuild 
b/sys-libs/safeclib/safeclib-3.7.1.ebuild
new file mode 100644
index 000000000..4d0a501f7
--- /dev/null
+++ b/sys-libs/safeclib/safeclib-3.7.1.ebuild
@@ -0,0 +1,108 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+MODULE_OPTIONAL_USE=modules
+
+inherit autotools linux-info linux-mod
+
+DESCRIPTION="safec libc extension with all C11 Annex K functions"
+HOMEPAGE="https://github.com/rurban/safeclib";
+SRC_URI="https://github.com/rurban/safeclib/releases/download/v${PV}/${P}.tar.xz";
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+constraint-handler doc +extensions modules norm-compat +nullslack test 
unsafe valgrind +wchar"
+
+RESTRICT="!test? ( test )"
+BDEPEND="
+       doc? ( app-doc/doxygen[dot] )
+       valgrind? ( dev-util/valgrind )
+"
+
+MODULE_NAMES="slkm(misc:${S}:${S})"
+BUILD_TARGETS="all"
+BUILD_PARAMS="-f Makefile.kernel"
+
+pkg_setup() {
+       if use modules ; then
+               CONFIG_CHECK="COMPAT_32BIT_TIME"
+               ERROR_COMPAT_32BIT_TIME="module require COMPAT_32BIT_TIME to 
build"
+       fi
+       linux-mod_pkg_setup
+}
+
+src_prepare() {
+       default
+       eautoreconf
+
+       # duplicate the working folder
+       # one for the library and one for the module
+       cd "${WORKDIR}" || die
+       cp -r "${S}" "${S}-lib" || die
+}
+
+src_configure() {
+       export VARTEXFONTS="${T}/fonts"
+
+       local myconf=(
+               --disable-static
+               --disable-valgrind-sgcheck
+               --disable-Werror
+               --enable-shared
+               $(use_enable constraint-handler)
+               $(use_enable doc)
+               $(use_enable extensions)
+               $(use_enable norm-compat)
+               $(use_enable nullslack)
+               $(use_enable unsafe)
+               $(use_enable valgrind)
+               $(use_enable wchar)
+       )
+
+       if use modules ; then
+               set_kvobj ko
+               econf "${myconf[@]}" --disable-wchar
+       fi
+
+       cd "${S}-lib" || die
+
+       econf "${myconf[@]}"
+}
+
+src_compile() {
+       if use modules ; then
+               linux-mod_src_compile
+       fi
+
+       cd "${S}-lib" || die
+       default
+}
+
+src_install() {
+       if use modules ; then
+               linux-mod_src_install
+       fi
+
+       cd "${S}-lib" || die
+       default
+       einstalldocs
+
+       if use doc ; then
+               rm -rf doc/man || die
+               dodoc -r doc/.
+               docompress -x "/usr/share/doc/${PF}/html"
+
+               # wcsstr towupper towlower manpages collide with 
sys-apps/man-pages
+               rm "${ED}/usr/share/man/man3/towlower.3" || die
+               rm "${ED}/usr/share/man/man3/towupper.3" || die
+               rm "${ED}/usr/share/man/man3/wcsstr.3" || die
+       fi
+}
+
+src_test() {
+       cd "${S}-lib" || die
+       emake check
+}

Reply via email to