summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO7
-rw-r--r--.gitignore1
-rw-r--r--PKGBUILD22
-rw-r--r--fix-catch-glibc-compatibility.patch31
4 files changed, 54 insertions, 7 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 61362ff0b8e7..982d9429c778 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index a69715d66ce9..c3a390be88fe 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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
+