diff options
-rw-r--r-- | .SRCINFO | 7 | ||||
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | PKGBUILD | 22 | ||||
-rw-r--r-- | fix-catch-glibc-compatibility.patch | 31 |
4 files changed, 54 insertions, 7 deletions
@@ -1,7 +1,7 @@ pkgbase = fuzzylite pkgdesc = C++ fuzzy logic control library pkgver = 6.0 - pkgrel = 4 + pkgrel = 5 url = https://github.com/fuzzylite/fuzzylite changelog = CHANGELOG arch = x86_64 @@ -10,10 +10,13 @@ pkgbase = fuzzylite license = GPL3 makedepends = cmake depends = gcc-libs - provides = libfuzzylite.so=6.0-64 + depends = glibc + provides = libfuzzylite.so source = fuzzylite-6.0.tar.gz::https://github.com/fuzzylite/fuzzylite/archive/refs/tags/v6.0.tar.gz source = remove-werror.patch + source = fix-catch-glibc-compatibility.patch sha256sums = 7e9f56deb9baf063de2232bfd8285f57ddccb651dae842fe3f587d0ac65ecdb0 sha256sums = 397f8888000225c4ee2b4a1b639c04dc59979e041dd3b8a6e7f65344f68d5b3b + sha256sums = 02474d9d973f65338d95d00b72cf7370b00c8e5c1c3cb42f63d844d967e267a7 pkgname = fuzzylite diff --git a/.gitignore b/.gitignore index b3a1a33e0064..ae386c0252e8 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ !.SRCINFO !CHANGELOG !remove-werror.patch +!fix-catch-glibc-compatibility.patch @@ -5,22 +5,27 @@ pkgname=fuzzylite pkgver=6.0 -pkgrel=4 +pkgrel=5 pkgdesc="C++ fuzzy logic control library" arch=(x86_64 i686 aarch64) url="https://github.com/fuzzylite/fuzzylite" license=(GPL3) -depends=(gcc-libs) +depends=( + gcc-libs + glibc +) makedepends=(cmake) -provides=('libfuzzylite.so=6.0-64') +provides=('libfuzzylite.so') changelog=CHANGELOG source=( "$pkgname-$pkgver.tar.gz::$url/archive/refs/tags/v$pkgver.tar.gz" "remove-werror.patch" + "fix-catch-glibc-compatibility.patch" ) sha256sums=( '7e9f56deb9baf063de2232bfd8285f57ddccb651dae842fe3f587d0ac65ecdb0' '397f8888000225c4ee2b4a1b639c04dc59979e041dd3b8a6e7f65344f68d5b3b' + '02474d9d973f65338d95d00b72cf7370b00c8e5c1c3cb42f63d844d967e267a7' ) _archive="$pkgname-$pkgver" @@ -28,7 +33,8 @@ _archive="$pkgname-$pkgver" prepare() { cd "$_archive" - patch -Np1 -i "$srcdir/remove-werror.patch" + patch --forward --strip=1 --input="$srcdir/remove-werror.patch" + patch --forward --strip=1 --input="$srcdir/fix-catch-glibc-compatibility.patch" } build() { @@ -40,11 +46,17 @@ build() { -DCMAKE_BUILD_TYPE=None \ -DCMAKE_INSTALL_PREFIX=/usr \ -DFL_BUILD_STATIC=OFF \ - -DFL_BUILD_TESTS=OFF \ + -DFL_BUILD_TESTS=ON \ -Wno-dev cmake --build build } +check() { + cd "$_archive/build/bin" + + ./fuzzylite-tests +} + package() { cd "$_archive" diff --git a/fix-catch-glibc-compatibility.patch b/fix-catch-glibc-compatibility.patch new file mode 100644 index 000000000000..c8d1401ffb15 --- /dev/null +++ b/fix-catch-glibc-compatibility.patch @@ -0,0 +1,31 @@ +diff --git a/fuzzylite/test/catch.hpp b/fuzzylite/test/catch.hpp +index 6f9334ba..9730e8fe 100644 +--- a/fuzzylite/test/catch.hpp ++++ b/fuzzylite/test/catch.hpp +@@ -6375,7 +6375,7 @@ namespace Catch { + static bool isSet; + static struct sigaction oldSigActions [sizeof(signalDefs)/sizeof(SignalDefs)]; + static stack_t oldSigStack; +- static char altStackMem[SIGSTKSZ]; ++ static char altStackMem[4000]; + + static void handleSignal( int sig ) { + std::string name = "<unknown signal>"; +@@ -6395,7 +6395,7 @@ namespace Catch { + isSet = true; + stack_t sigStack; + sigStack.ss_sp = altStackMem; +- sigStack.ss_size = SIGSTKSZ; ++ sigStack.ss_size = 4000; + sigStack.ss_flags = 0; + sigaltstack(&sigStack, &oldSigStack); + struct sigaction sa = { 0 }; +@@ -6426,7 +6426,7 @@ namespace Catch { + bool FatalConditionHandler::isSet = false; + struct sigaction FatalConditionHandler::oldSigActions[sizeof(signalDefs)/sizeof(SignalDefs)] = {}; + stack_t FatalConditionHandler::oldSigStack = {}; +- char FatalConditionHandler::altStackMem[SIGSTKSZ] = {}; ++ char FatalConditionHandler::altStackMem[4000] = {}; + + } // namespace Catch + |