summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorA. Wilcox <AWilcox@Wilcox-Tech.com>2022-12-04 01:28:52 +0000
committerA. Wilcox <AWilcox@Wilcox-Tech.com>2022-12-04 01:30:07 +0000
commit198e0130d845f7466c09a61f3829905d95313c06 (patch)
tree2b7f116a32f0b3dcf8faab73d8b23f94f7b773ff
parent842c49101f58021b9354b0f92b70705a272a3d6e (diff)
downloadpackages-198e0130d845f7466c09a61f3829905d95313c06.tar.gz
packages-198e0130d845f7466c09a61f3829905d95313c06.tar.bz2
packages-198e0130d845f7466c09a61f3829905d95313c06.tar.xz
packages-198e0130d845f7466c09a61f3829905d95313c06.zip
user/mariadb: Fix PowerPC build
Modern GCC (8.x) doesn't need a special builtins file for PPC. Let's remove the old workaround and build natively. Fixes: #869
-rw-r--r--user/mariadb/APKBUILD24
-rw-r--r--user/mariadb/gcc_builtins_ppc.h78
2 files changed, 8 insertions, 94 deletions
diff --git a/user/mariadb/APKBUILD b/user/mariadb/APKBUILD
index 1ba1ef5c6..7c44f4c46 100644
--- a/user/mariadb/APKBUILD
+++ b/user/mariadb/APKBUILD
@@ -25,7 +25,6 @@ subpackages="$pkgname-client $pkgname-server $pkgname-libs $pkgname-embedded
$pkgname-common $pkgname-backup mytop::noarch $pkgname-openrc
$pkgname-doc $pkgname-dev"
source="https://archive.mariadb.org/$pkgname-$pkgver/source/$pkgname-$pkgver.tar.gz
- gcc_builtins_ppc.h
ppchax.patch
mariadb.initd
mariadb-server.limits
@@ -56,13 +55,7 @@ build() {
CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
fi
- case "$CTARGET_ARCH" in
- ppc)
- cp "$srcdir"/gcc_builtins_ppc.h "$builddir"/include/atomic/gcc_builtins.h
- ;;
- esac
-
- local _release="\
+ _release="\
-DBUILD_CONFIG=mysql_release \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS=\"$CXXFLAGS -DNDEBUG\" \
@@ -74,7 +67,7 @@ build() {
# SKIP_TESTS skips client unittests that require a server to be present
# JEMALLOC is reported to not work on musl, TODO: test this
# ASAN also doesn't work on musl iirc
- local _deps="\
+ _deps="\
-DWITH_MARIABACKUP=ON \
-DWITH_NUMA=OFF \
-DWITH_LIBNUMA=OFF \
@@ -94,7 +87,7 @@ build() {
-DSKIP_TESTS=ON "
# AWS_KEY_MANAGEMENT makes this package non-redistributable, disable it
- local _plugins="\
+ _plugins="\
-DPLUGIN_ARCHIVE=YES \
-DPLUGIN_ARIA=YES \
-DPLUGIN_BLACKHOLE=YES \
@@ -107,7 +100,7 @@ build() {
-DPLUGIN_FEEDBACK=NO "
# Investigate turning more of these on
- local _innodb="\
+ _innodb="\
-DWITH_INNODB_LZMA=YES \
-DWITH_INNODB_BZIP2=NO \
-DWITH_INNODB_LZ4=NO \
@@ -115,7 +108,7 @@ build() {
-DWITH_INNODB_SNAPPY=NO "
# MongoDB is not libre software, disable it
- local _connect="\
+ _connect="\
-DCONNECT_WITH_MYSQL=YES \
-DCONNECT_WITH_MONGO=NO \
-DCONNECT_WITH_ODBC=NO \
@@ -123,12 +116,12 @@ build() {
-DCONNECT_WITH_LIBXML2=system "
# non-portable things, things that don't work on musl, BE, 32-bit etc
- local _evil="\
+ _evil="\
-DPLUGIN_MROONGA=NO \
-DPLUGIN_ROCKSDB=NO \
-DPLUGIN_TOKUDB=NO "
- local _system_libs="\
+ _system_libs="\
-DWITH_LIBARCHIVE=system \
-DWITH_PCRE=system \
-DWITH_SSL=system \
@@ -136,7 +129,7 @@ build() {
-DWITH_EXTERNAL_ZLIB=YES \
-DCONC_WITH_EXTERNAL_ZLIB=YES "
- local _system_paths="\
+ _system_paths="\
-DCMAKE_INSTALL_PREFIX=/usr \
-DSYSCONFDIR=/etc/mysql \
-DMYSQL_DATADIR=/var/lib/mariadb \
@@ -276,7 +269,6 @@ doc() {
}
sha512sums="c216244ce126e6f8954303a76078dc12146e8ea941041edd215dc05201adda1d5158cd7f1c9831328f783aba4f884965ae288f33bbc43229bc6224a4f1079071 mariadb-10.6.4.tar.gz
-15ae6d4564c5c8b8583502acd54bf0019e8a62ebcf87278015506e58848cb6996ff61ca055897f9192b8818808adeeac15b8f786065cfd071cc264ca1922f7e3 gcc_builtins_ppc.h
0cb265173923cb85517a1144cfa904dafe059c1f859e13b4415442cabbb414db5904f2dcee0e865914b0f9c181d1d61d220834cb187b14f8538a0d2552025a9d ppchax.patch
1a2b058aad5fd6d6964db58b663591299a5bf82e7ad21a105d53a3e7ad1c3674c737caf3ee12799cce947cf8ead1f3e789dd8afcfc769891f08208b3006f9654 mariadb.initd
d47324b34a87410eddb554f65199d145dfba9ae40407a62fb77df4e1ebf13087d15eb28e61e5e7cc9139eb42f093a0955136edae4020822652a1f0b4e219849e mariadb-server.limits"
diff --git a/user/mariadb/gcc_builtins_ppc.h b/user/mariadb/gcc_builtins_ppc.h
deleted file mode 100644
index 8e492c58a..000000000
--- a/user/mariadb/gcc_builtins_ppc.h
+++ /dev/null
@@ -1,78 +0,0 @@
-#ifndef ATOMIC_GCC_BUILTINS_INCLUDED
-#define ATOMIC_GCC_BUILTINS_INCLUDED
-
-/* Copyright (c) 2017 MariaDB Foundation
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; version 2 of the License.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA */
-
-
-#define MY_MEMORY_ORDER_RELAXED __ATOMIC_RELAXED
-#define MY_MEMORY_ORDER_CONSUME __ATOMIC_CONSUME
-#define MY_MEMORY_ORDER_ACQUIRE __ATOMIC_ACQUIRE
-#define MY_MEMORY_ORDER_RELEASE __ATOMIC_RELEASE
-#define MY_MEMORY_ORDER_ACQ_REL __ATOMIC_ACQ_REL
-#define MY_MEMORY_ORDER_SEQ_CST __ATOMIC_SEQ_CST
-
-#define my_atomic_store32_explicit(P, D, O) __atomic_store_4((P), (D), (O))
-#define my_atomic_store64_explicit(P, D, O) __atomic_store_8((P), (D), (O))
-#define my_atomic_storeptr_explicit(P, D, O) __atomic_store_4((P), (unsigned int)(D), (O))
-
-#define my_atomic_load32_explicit(P, O) __atomic_load_4((P), (O))
-#define my_atomic_load64_explicit(P, O) __atomic_load_8((P), (O))
-#define my_atomic_loadptr_explicit(P, O) __atomic_load_4((P), (O))
-
-#define my_atomic_fas32_explicit(P, D, O) __atomic_exchange_4((P), (D), (O))
-#define my_atomic_fas64_explicit(P, D, O) __atomic_exchange_8((P), (D), (O))
-#define my_atomic_fasptr_explicit(P, D, O) __atomic_exchange_4((P), (D), (O))
-
-#define my_atomic_add32_explicit(P, A, O) __atomic_fetch_add_4((P), (A), (O))
-#define my_atomic_add64_explicit(P, A, O) __atomic_fetch_add_8((P), (A), (O))
-
-#define my_atomic_cas32_weak_explicit(P, E, D, S, F) \
- __atomic_compare_exchange_4((P), (E), (D), 1, (S), (F))
-#define my_atomic_cas64_weak_explicit(P, E, D, S, F) \
- __atomic_compare_exchange_8((P), (E), (D), 1, (S), (F))
-#define my_atomic_casptr_weak_explicit(P, E, D, S, F) \
- __atomic_compare_exchange_4((P), (E), (D), 1, (S), (F))
-
-#define my_atomic_cas32_strong_explicit(P, E, D, S, F) \
- __atomic_compare_exchange_4((P), (E), (D), 0, (S), (F))
-#define my_atomic_cas64_strong_explicit(P, E, D, S, F) \
- __atomic_compare_exchange_8((P), (E), (D), 0, (S), (F))
-#define my_atomic_casptr_strong_explicit(P, E, D, S, F) \
- __atomic_compare_exchange_4((P), (E), (D), 0, (S), (F))
-
-#define my_atomic_store32(P, D) __atomic_store_4((P), (D), __ATOMIC_SEQ_CST)
-#define my_atomic_store64(P, D) __atomic_store_8((P), (D), __ATOMIC_SEQ_CST)
-#define my_atomic_storeptr(P, D) __atomic_store_4((P), (D), __ATOMIC_SEQ_CST)
-
-#define my_atomic_load32(P) __atomic_load_4((P), __ATOMIC_SEQ_CST)
-#define my_atomic_load64(P) __atomic_load_8((P), __ATOMIC_SEQ_CST)
-#define my_atomic_loadptr(P) __atomic_load_4((P), __ATOMIC_SEQ_CST)
-
-#define my_atomic_fas32(P, D) __atomic_exchange_4((P), (D), __ATOMIC_SEQ_CST)
-#define my_atomic_fas64(P, D) __atomic_exchange_8((P), (D), __ATOMIC_SEQ_CST)
-#define my_atomic_fasptr(P, D) __atomic_exchange_4((P), (D), __ATOMIC_SEQ_CST)
-
-#define my_atomic_add32(P, A) __atomic_fetch_add_4((P), (A), __ATOMIC_SEQ_CST)
-#define my_atomic_add64(P, A) __atomic_fetch_add_8((P), (A), __ATOMIC_SEQ_CST)
-
-#define my_atomic_cas32(P, E, D) \
- __atomic_compare_exchange_4((P), (E), (D), 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST)
-#define my_atomic_cas64(P, E, D) \
- __atomic_compare_exchange_8((P), (E), (D), 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST)
-#define my_atomic_casptr(P, E, D) \
- __atomic_compare_exchange_4((P), (E), (D), 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST)
-
-#endif /* ATOMIC_GCC_BUILTINS_INCLUDED */