libxcrypt, new recipe (#11683)

This commit is contained in:
Schrijvers Luc
2025-01-27 09:06:22 +01:00
committed by GitHub
parent 81cb41c907
commit c7e3c49fa3

View File

@@ -0,0 +1,93 @@
SUMMARY="Extended crypt library for descrypt, md5crypt, bcrypt, and others"
DESCRIPTION="libxcrypt is a modern library for one-way hashing of passwords. It supports a wide \
variety of both modern and historical hashing methods: yescrypt, gost-yescrypt, scrypt, bcrypt, \
sha512crypt, sha256crypt, md5crypt, SunMD5, sha1crypt, NT, bsdicrypt, bigcrypt, and descrypt. It \
provides the traditional Unix *crypt* and *crypt_r* interfaces, as well as a set of extended \
interfaces pioneered by Openwall Linux, *crypt_rn*, *crypt_ra*, *crypt_gensalt*, \
*crypt_gensalt_rn*, and *crypt_gensalt_ra*.
libxcrypt is intended to be used by *login(1)*, *passwd(1)*, and other similar programs; that \
is, to hash a small number of passwords during an interactive authentication dialogue with a \
human. It is not suitable for use in bulk password-cracking applications, or in any other \
situation where speed is more important than careful handling of sensitive data. However, it \
*is* intended to be fast and lightweight enough for use in servers that must field thousands of \
login attempts per minute."
HOMEPAGE="https://github.com/besser82/libxcrypt"
COPYRIGHT="2025 Björn Esser and Zack Weinberg et all"
LICENSE="GNU LGPL v2.1"
REVISION="1"
SOURCE_URI="https://github.com/besser82/libxcrypt/archive/refs/tags/v$portVersion.tar.gz"
CHECKSUM_SHA256="9fb45586b2e83727934fbe046a4fef4804017577f1d048f91d56d0d830a5a98e"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
libVersion="2.0.0"
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
PROVIDES="
libxcrypt$secondaryArchSuffix = $portVersion
lib:libcrypt$secondaryArchSuffix = $libVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
"
PROVIDES_devel="
libxcrypt${secondaryArchSuffix}_devel = $portVersion
devel:libcrypt$secondaryArchSuffix = $libVersionCompat
"
REQUIRES_devel="
libxcrypt$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
"
BUILD_PREREQUIRES="
cmd:autoreconf
cmd:gcc$secondaryArchSuffix
cmd:libtoolize$secondaryArchSuffix
cmd:make
"
BUILD()
{
autoreconf -fi
runConfigure ./configure \
--disable-static \
--disable-werror # needed for the tests
make $jobArgs
}
INSTALL()
{
make install
# remove libtool file
rm -f $libDir/libcrypt.la
prepareInstalledDevelLib \
libcrypt
fixPkgconfig
packageEntries devel \
$developDir
}
TEST()
{
# ============================================================================
# Testsuite summary for xcrypt 4.4.38
# ============================================================================
# TOTAL: 43
# PASS: 41
# SKIP: 1
# XFAIL: 0
# FAIL: 1
# XPASS: 0
# ERROR: 0
make VERBOSE=1 check
}