summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--PKGBUILD63
-rw-r--r--fix-catch-glibc-compatibility.patch31
-rw-r--r--remove-werror.patch12
3 files changed, 84 insertions, 22 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 549c2ab..6628f66 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -9,41 +9,60 @@
pkgname=fuzzylite
pkgver=6.0
-pkgrel=3
-pkgdesc='C++ fuzzy logic control library'
-arch=('x86_64' 'i686' 'aarch64')
-url='https://github.com/fuzzylite/fuzzylite'
-license=('GPL3')
-depends=('gcc-libs')
-makedepends=('cmake')
-provides=('libfuzzylite.so=6.0-64')
+pkgrel=5
+pkgdesc="C++ fuzzy logic control library"
+arch=(x86_64 i686 aarch64)
+url="https://github.com/fuzzylite/fuzzylite"
+license=(GPL3)
+depends=(
+ gcc-libs
+ glibc
+)
+makedepends=(cmake)
+provides=('libfuzzylite.so')
changelog=CHANGELOG
-source=("$pkgname-$pkgver.tar.gz::https://github.com/fuzzylite/fuzzylite/archive/v$pkgver.tar.gz")
-sha256sums=('7e9f56deb9baf063de2232bfd8285f57ddccb651dae842fe3f587d0ac65ecdb0')
+source=(
+ "$pkgname-$pkgver.tar.gz::https://github.com/fuzzylite/fuzzylite/archive/v$pkgver.tar.gz"
+ "remove-werror.patch"
+ "fix-catch-glibc-compatibility.patch"
+)
+sha256sums=('7e9f56deb9baf063de2232bfd8285f57ddccb651dae842fe3f587d0ac65ecdb0'
+ '397f8888000225c4ee2b4a1b639c04dc59979e041dd3b8a6e7f65344f68d5b3b'
+ '02474d9d973f65338d95d00b72cf7370b00c8e5c1c3cb42f63d844d967e267a7')
prepare() {
+ cd "$pkgname-$pkgver"
- sed \
- -e 's/-Werror//' \
- -i $pkgname-$pkgver/$pkgname/CMakeLists.txt
-
+ patch --forward --strip=1 --input="$srcdir/remove-werror.patch"
+ patch --forward --strip=1 --input="$srcdir/fix-catch-glibc-compatibility.patch"
}
build() {
+ cd $pkgname-$pkgver
+
cmake \
-B build \
- -S "$pkgname-$pkgver/$pkgname" \
- -DCMAKE_BUILD_TYPE='None' \
- -DCMAKE_INSTALL_PREFIX='/usr' \
+ -S "$pkgname" \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCMAKE_INSTALL_PREFIX=/usr \
-DFL_BUILD_STATIC=OFF \
- -DFL_BUILD_TESTS=OFF \
+ -DFL_BUILD_TESTS=ON \
-Wno-dev
- make -C build
+ cmake --build build
+}
+
+check() {
+ cd "$pkgname-$pkgver/build/bin"
+
+ ./fuzzylite-tests
}
+
package() {
- make DESTDIR="$pkgdir" -C build install
cd "$pkgname-$pkgver"
- install -Dm644 -t "$pkgdir/usr/share/doc/$pkgname" 'README.md'
- install -Dm644 -t "$pkgdir/usr/share/man/man1" "$pkgname/$pkgname.1"
+
+ DESTDIR="$pkgdir" cmake --install build
+
+ install -Dm644 README.md "$pkgdir/usr/share/doc/$pkgname/README.md"
+ install -Dm644 "$pkgname/$pkgname.1" "$pkgdir/usr/share/man/man1/$pkgname.1"
}
diff --git a/fix-catch-glibc-compatibility.patch b/fix-catch-glibc-compatibility.patch
new file mode 100644
index 0000000..c8d1401
--- /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
+
diff --git a/remove-werror.patch b/remove-werror.patch
new file mode 100644
index 0000000..b97bc75
--- /dev/null
+++ b/remove-werror.patch
@@ -0,0 +1,12 @@
+diff --unified --recursive --text fuzzylite-6.0.orig/fuzzylite/CMakeLists.txt fuzzylite-6.0/fuzzylite/CMakeLists.txt
+--- fuzzylite-6.0.orig/fuzzylite/CMakeLists.txt 2023-06-19 13:11:52.635098242 +0200
++++ fuzzylite-6.0/fuzzylite/CMakeLists.txt 2023-06-19 13:12:27.115350609 +0200
+@@ -74,7 +74,7 @@
+ if(NOT MSVC)
+ #TODO: Remove -Werror before release.
+ #Add Unix compilation flags
+- set(CMAKE_CXX_FLAGS "-pedantic -Wall -Wextra -Werror ${CMAKE_CXX_FLAGS}")
++ set(CMAKE_CXX_FLAGS "-pedantic -Wall -Wextra ${CMAKE_CXX_FLAGS}")
+
+ set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
+ set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")