Files
haikuports/dev-libs/epoll_shim/epoll_shim-0.0.20230411.recipe
Jérôme Duval e75ff8a88b epoll_shim: new recipe, disabled, needs kqueue()
* builds, some tests are run after build.
* two interpose tests fail because of an assert in pthread_mutex_lock() owner == 1.
* a lot of tests hang for some reason.
* this could help to find bugs in the current kqueue implementation.
2024-03-08 13:02:09 +01:00

73 lines
1.8 KiB
Bash

SUMMARY="A library that implements epoll on top of kqueue"
DESCRIPTION="It has been successfully used to port libinput, libevdev, \
Wayland and more software to FreeBSD. \
It may be useful for porting other software that uses epoll as well. \
Sadly, this library contains some very ugly hacks and workarounds.."
HOMEPAGE="http://github.com/jiixyj/epoll-shim/"
COPYRIGHT="2016 Jan Kokemüller"
LICENSE="MIT"
REVISION="1"
SOURCE_URI="http://github.com/jiixyj/epoll-shim/archive/v$portVersion.tar.gz"
CHECKSUM_SHA256="2e8b8f9eac1205c1dd5319af9f6eb85ae889ed18fba7472ced50e17ab3664197"
SOURCE_FILENAME="epoll-shim-$portVersion.tar.gz"
SOURCE_DIR="epoll-shim-$portVersion"
PATCHES="epoll_shim-$portVersion.patchset"
ARCHITECTURES="?all !x86_gcc2"
SECONDARY_ARCHITECTURES="?x86"
PROVIDES="
epoll_shim$secondaryArchSuffix = $portVersion
lib:libepoll_shim_interpose$secondaryArchSuffix
lib:libepoll_shim$secondaryArchSuffix
"
REQUIRES="
haiku$secondaryArchSuffix
"
PROVIDES_devel="
epoll_shim${secondaryArchSuffix}_devel = $portVersion
devel:libepoll_shim_interpose$secondaryArchSuffix
devel:libepoll_shim$secondaryArchSuffix
"
REQUIRES_devel="
epoll_shim$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:gcc$secondaryArchSuffix
cmd:make
"
BUILD()
{
export CFLAGS="-DEVFILT_TIMER=0 -DEVFILT_SIGNAL=0 -DEV_RECEIPT=0"
cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=RelWithDebInfo \
$cmakeDirArgs
cmake --build build $jobArgs
}
INSTALL()
{
cmake --install build
mv $prefix/libdata/* $libDir
rmdir $prefix/libdata
prepareInstalledDevelLibs libepoll-shim libepoll-shim-interpose
fixPkgconfig
packageEntries devel \
"$developDir" \
$libDir/cmake
}
TEST()
{
cd build
ctest --output-on-failure
}