aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlessandro Barbieri <lssndrbarbieri@gmail.com>2022-02-03 19:57:14 +0100
committerAlessandro Barbieri <lssndrbarbieri@gmail.com>2022-03-05 02:34:27 +0100
commit2492d2b670ec0806f7dac7455d4e89b2e6d53bc7 (patch)
treefb6bb0155ff161a6b362aba861e22d926dbcabb9 /sys-libs
parentnet-irc/tiny: rename distfile (diff)
downloadguru-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/Manifest1
-rw-r--r--sys-libs/safeclib/metadata.xml1
-rw-r--r--sys-libs/safeclib/safeclib-3.7.1.ebuild108
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
+}