summaryrefslogtreecommitdiff
path: root/user/rttr
diff options
context:
space:
mode:
Diffstat (limited to 'user/rttr')
-rw-r--r--user/rttr/APKBUILD44
-rw-r--r--user/rttr/arm64.patch22
-rw-r--r--user/rttr/dlclose-doesnt-work.patch94
-rw-r--r--user/rttr/install-doc.patch11
4 files changed, 171 insertions, 0 deletions
diff --git a/user/rttr/APKBUILD b/user/rttr/APKBUILD
new file mode 100644
index 000000000..13ee5257f
--- /dev/null
+++ b/user/rttr/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=rttr
+pkgver=0.9.6
+pkgrel=0
+pkgdesc="C++ reflection library"
+url=" "
+arch="all"
+license="MIT"
+depends=""
+makedepends="doxygen graphviz"
+subpackages="$pkgname-dev $pkgname-doc"
+source="https://github.com/rttrorg/rttr/releases/download/v$pkgver/rttr-$pkgver-src.tar.gz
+ arm64.patch
+ dlclose-doesnt-work.patch
+ install-doc.patch
+ "
+
+build() {
+ if [ "$CBUILD" != "$CHOST" ]; then
+ CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ fi
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=True \
+ -DCMAKE_BUILD_TYPE=RelWithDebugInfo \
+ -DCMAKE_CXX_FLAGS="$CXXFLAGS -Wno-error=class-memaccess -DNDEBUG" \
+ ${CMAKE_CROSSOPTS}
+ make
+}
+
+check() {
+ CTEST_OUTPUT_ON_FAILURE=TRUE ctest
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="7e0d4fa87f83feda0b926d4d0e52aaf0f369f25fe7e23e5ffe86c0bba159e8353cef44eed37611a81e8ccc8d6facb36942f940d0d0b965f873177d7078f91cf4 rttr-0.9.6-src.tar.gz
+559b4d55109b7021082cdd15663075312d80a896325db2b6bba43bf9d3ba17ecc2152aa30617f200be904351c7f8ba188b7e7a6b29a71612b42d48a5a0535aa7 arm64.patch
+76efa45715d2a6459ae3cf5a6189de414775eed11a1f6780de563005765139ae6be86e30ead63b5ef8e9a5e84ba77a4ef2b7a75ded7506c6c8d81a696a887ff3 dlclose-doesnt-work.patch
+825ca43fb35f6139db13f0b01818b49bb1556a1190ac2941c643e4d438c5b458883fa2ffb64d95625125c251632da7b3d8b703141335df8883b6e186f2e6a349 install-doc.patch"
diff --git a/user/rttr/arm64.patch b/user/rttr/arm64.patch
new file mode 100644
index 000000000..012a30b3f
--- /dev/null
+++ b/user/rttr/arm64.patch
@@ -0,0 +1,22 @@
+From fe98842255defe9f0b922f46b2dd1c067088a1f2 Mon Sep 17 00:00:00 2001
+From: Andreas Schwab <schwab@suse.de>
+Date: Tue, 2 Apr 2019 09:34:47 +0200
+Subject: [PATCH] Support all LP64 architectures
+
+---
+ src/rttr/detail/base/core_prerequisites.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/rttr/detail/base/core_prerequisites.h b/src/rttr/detail/base/core_prerequisites.h
+index f60d91c3..6aa29d77 100644
+--- a/src/rttr/detail/base/core_prerequisites.h
++++ b/src/rttr/detail/base/core_prerequisites.h
+@@ -89,7 +89,7 @@ namespace rttr
+ // Architecture
+ /////////////////////////////////////////////////////////////////////////////////////////
+ #if defined(__x86_64__) || defined(_M_X64) || defined(__powerpc64__) || defined(__alpha__) ||\
+- defined(__ia64__) || defined(__s390__) || defined(__s390x__)
++ defined(__ia64__) || defined(__s390__) || defined(__s390x__) || defined(_LP64) || defined(__LP64__)
+ # define RTTR_ARCH_TYPE RTTR_ARCH_64
+ #else
+ # define RTTR_ARCH_TYPE RTTR_ARCH_32
diff --git a/user/rttr/dlclose-doesnt-work.patch b/user/rttr/dlclose-doesnt-work.patch
new file mode 100644
index 000000000..146f16944
--- /dev/null
+++ b/user/rttr/dlclose-doesnt-work.patch
@@ -0,0 +1,94 @@
+musl doesn't support dlclose, so don't test it.
+
+--- rttr-0.9.6/src/unit_tests/misc/library_test.cpp.old 2018-03-26 21:31:07.000000000 +0000
++++ rttr-0.9.6/src/unit_tests/misc/library_test.cpp 2019-04-19 00:10:52.775313358 +0000
+@@ -71,7 +71,7 @@
+ CHECK(lib.get_types().size() == 0);
+ CHECK(lib.get_global_properties().size() == 0);
+ CHECK(lib.get_global_methods().size() == 0);
+- CHECK(does_plugin_type_exist() == false);
++ //CHECK(does_plugin_type_exist() == false);
+ }
+
+ SECTION("negative test")
+@@ -102,7 +102,7 @@
+ #else
+ #error "Don't know library suffix on this plattform!"
+ #endif
+- CHECK(does_plugin_type_exist() == false);
++ //CHECK(does_plugin_type_exist() == false);
+ CHECK(lib.load() == true);
+ REQUIRE(lib.get_error_string().empty() == true);
+ CHECK(does_plugin_type_exist() == true);
+@@ -110,7 +110,7 @@
+ CHECK(lib.get_error_string().empty() == true);
+ CHECK(lib.unload() == true);
+
+- CHECK(does_plugin_type_exist() == false);
++ //CHECK(does_plugin_type_exist() == false);
+ }
+ }
+
+@@ -122,19 +122,19 @@
+ {
+ library lib(library_name);
+
+- CHECK(does_plugin_type_exist() == false);
++ //CHECK(does_plugin_type_exist() == false);
+ CHECK(lib.load() == true);
+ CHECK(lib.load() == true);
+
+ REQUIRE(lib.get_error_string().empty() == true);
+ CHECK(does_plugin_type_exist() == true);
+
+- CHECK(lib.get_types().size() > 1);
++ //CHECK(lib.get_types().size() > 1);
+ CHECK(lib.get_global_properties().size() == 0);
+ CHECK(lib.get_global_methods().size() == 0);
+
+ CHECK(lib.unload() == true);
+- CHECK(does_plugin_type_exist() == false);
++ //CHECK(does_plugin_type_exist() == false);
+ }
+
+ SECTION("load the same lib from different instance multiple times")
+@@ -142,7 +142,7 @@
+ library lib1(library_name);
+ library lib2(library_name);
+
+- CHECK(does_plugin_type_exist() == false);
++ //CHECK(does_plugin_type_exist() == false);
+
+ CHECK(lib1.load() == true);
+ CHECK(lib2.load() == true);
+@@ -156,26 +156,26 @@
+
+ CHECK(lib2.unload() == true);
+
+- CHECK(does_plugin_type_exist() == false);
++ //CHECK(does_plugin_type_exist() == false);
+ }
+
+ SECTION("load the same lib multiple times 2xload() and 2xunload()")
+ {
+ library lib(library_name);
+
+- CHECK(does_plugin_type_exist() == false);
++ //CHECK(does_plugin_type_exist() == false);
+
+ CHECK(lib.load() == true);
+ CHECK(does_plugin_type_exist() == true);
+
+ CHECK(lib.unload() == true);
+- CHECK(does_plugin_type_exist() == false);
++ //CHECK(does_plugin_type_exist() == false);
+
+ CHECK(lib.load() == true);
+ CHECK(does_plugin_type_exist() == true);
+
+ CHECK(lib.unload() == true);
+- CHECK(does_plugin_type_exist() == false);
++ //CHECK(does_plugin_type_exist() == false);
+ }
+ }
+
diff --git a/user/rttr/install-doc.patch b/user/rttr/install-doc.patch
new file mode 100644
index 000000000..ec33d2440
--- /dev/null
+++ b/user/rttr/install-doc.patch
@@ -0,0 +1,11 @@
+--- rttr-0.9.6/doc/CMakeLists.txt.old 2018-03-26 21:30:36.000000000 +0000
++++ rttr-0.9.6/doc/CMakeLists.txt 2019-04-19 00:14:33.471673713 +0000
+@@ -33,7 +33,7 @@
+ set(DOXYGEN_INPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/src/rttr \\
+ ${CMAKE_CURRENT_SOURCE_DIR}" )
+ set(DOXYGEN_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/doc")
+-set(DOXYGEN_DOC_INSTALL_DIR "doc")
++set(DOXYGEN_DOC_INSTALL_DIR "share/doc/rttr")
+ set(DOXYGEN_CONFIG_FILE_IN "DoxyFile.cfg.in")
+ set(DOXYGEN_LAYOUT_FILE_IN "doxygen-customization/layout/DoxygenLayout.xml.in")
+ set(DOXYGEN_EXCLUDE "")