diff options
author | 2022-02-03 19:57:14 +0100 | |
---|---|---|
committer | 2022-03-05 02:34:27 +0100 | |
commit | 2492d2b670ec0806f7dac7455d4e89b2e6d53bc7 (patch) | |
tree | fb6bb0155ff161a6b362aba861e22d926dbcabb9 /sys-libs | |
parent | net-irc/tiny: rename distfile (diff) | |
download | guru-2492d2b670ec0806f7dac7455d4e89b2e6d53bc7.tar.gz guru-2492d2b670ec0806f7dac7455d4e89b2e6d53bc7.tar.bz2 guru-2492d2b670ec0806f7dac7455d4e89b2e6d53bc7.zip |
sys-libs/safeclib: add 3.7.1
Signed-off-by: Alessandro Barbieri <lssndrbarbieri@gmail.com>
Diffstat (limited to 'sys-libs')
-rw-r--r-- | sys-libs/safeclib/Manifest | 1 | ||||
-rw-r--r-- | sys-libs/safeclib/metadata.xml | 1 | ||||
-rw-r--r-- | sys-libs/safeclib/safeclib-3.7.1.ebuild | 108 |
3 files changed, 110 insertions, 0 deletions
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 +} |