summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Herzberg2019-01-17 15:43:18 +0000
committerMichael Herzberg2019-01-17 15:43:18 +0000
commit530f1491cf218b636c2b2d07923ee5d643f93576 (patch)
tree1290b35c14193f2fe04a28f80dde4757125a78d2
parent5d0c184224b1a70130eaf2033a41611847fd9495 (diff)
downloadaur-530f1491cf218b636c2b2d07923ee5d643f93576.tar.gz
Fix cmake error when building on non-english systems.
-rw-r--r--.SRCINFO4
-rw-r--r--PKGBUILD12
-rw-r--r--fix_cmake_compiler_flag_tests.patch82
3 files changed, 94 insertions, 4 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 3b114c78042f..98fb75d45905 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = mariadb-10.3
pkgver = 10.3.12
- pkgrel = 2
+ pkgrel = 3
url = http://mariadb.org/
arch = x86_64
license = GPL
@@ -18,10 +18,12 @@ pkgbase = mariadb-10.3
source = https://mirrors.ukfast.co.uk/sites/mariadb/mariadb-10.3.12/source/mariadb-10.3.12.tar.gz
source = https://mirrors.ukfast.co.uk/sites/mariadb/mariadb-10.3.12/source/mariadb-10.3.12.tar.gz.asc
source = fix_libmariadb_ignored_host.patch
+ source = fix_cmake_compiler_flag_tests.patch
validpgpkeys = 199369E5404BD5FC7D2FE43BCBCB082A1BB943DB
sha256sums = f7449a34c25e0455928d7983dae83fd2069fe1f16c4c5f4aeed9ed9d3f081ff6
sha256sums = SKIP
sha256sums = fd186c795c393b6898f28d731390bb14ea8444230c8340a5f4cfbccb16ea10e9
+ sha256sums = 80594a8427106aa99186d0e2af3d8d37c49a4d4cf811d049d1ebb0e4a75fcdb0
pkgname = libmariadb-10.3
pkgdesc = MariaDB client libraries
diff --git a/PKGBUILD b/PKGBUILD
index d473ef1679ff..b6de473b270f 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -6,7 +6,7 @@
pkgbase=mariadb-10.3
pkgname=('libmariadb-10.3' 'mariadb-clients-10.3' 'mytop-10.3' 'mariadb-10.3')
pkgver=10.3.12
-pkgrel=2
+pkgrel=3
arch=('x86_64')
license=('GPL')
url='http://mariadb.org/'
@@ -15,10 +15,12 @@ makedepends=('boost' 'bzip2' 'cmake' 'jemalloc' 'libaio' 'libxml2' 'lz4' 'lzo'
validpgpkeys=('199369E5404BD5FC7D2FE43BCBCB082A1BB943DB') # MariaDB Package Signing Key <package-signing-key@mariadb.org>
source=("https://mirrors.ukfast.co.uk/sites/mariadb/mariadb-$pkgver/source/mariadb-$pkgver.tar.gz"{,.asc}
- fix_libmariadb_ignored_host.patch)
+ fix_libmariadb_ignored_host.patch
+ fix_cmake_compiler_flag_tests.patch)
sha256sums=('f7449a34c25e0455928d7983dae83fd2069fe1f16c4c5f4aeed9ed9d3f081ff6'
'SKIP'
- 'fd186c795c393b6898f28d731390bb14ea8444230c8340a5f4cfbccb16ea10e9')
+ 'fd186c795c393b6898f28d731390bb14ea8444230c8340a5f4cfbccb16ea10e9'
+ '80594a8427106aa99186d0e2af3d8d37c49a4d4cf811d049d1ebb0e4a75fcdb0')
prepare() {
cd ${pkgbase%-10.3}-$pkgver/
@@ -40,6 +42,10 @@ prepare() {
# More info: https://jira.mariadb.org/browse/CONC-359
patch -p0 < ../fix_libmariadb_ignored_host.patch
+ # Fix a cmake error on non-english systems
+ # More info: https://jira.mariadb.org/browse/MDEV-18273
+ patch -p1 < ../fix_cmake_compiler_flag_tests.patch
+
# fix path to our config
sed -i 's|my.cnf.d|mysql/my.cnf.d|' support-files/rpm/{my.cnf,enable_encryption.preset}
}
diff --git a/fix_cmake_compiler_flag_tests.patch b/fix_cmake_compiler_flag_tests.patch
new file mode 100644
index 000000000000..119be1cbf719
--- /dev/null
+++ b/fix_cmake_compiler_flag_tests.patch
@@ -0,0 +1,82 @@
+diff -U 3 -dHrN -- mariadb-10.3.12_old/cmake/check_compiler_flag.cmake mariadb-10.3.12/cmake/check_compiler_flag.cmake
+--- mariadb-10.3.12_old/cmake/check_compiler_flag.cmake 2019-01-04 16:28:48.000000000 +0100
++++ mariadb-10.3.12/cmake/check_compiler_flag.cmake 2019-01-16 09:59:23.143273756 +0100
+@@ -1,36 +1,5 @@
+-include(CheckCSourceCompiles)
+-include(CheckCXXSourceCompiles)
+-# We need some extra FAIL_REGEX patterns
+-# Note that CHECK_C_SOURCE_COMPILES is a misnomer, it will also link.
+-SET(fail_patterns
+- FAIL_REGEX "argument unused during compilation"
+- FAIL_REGEX "unsupported .*option"
+- FAIL_REGEX "unknown .*option"
+- FAIL_REGEX "unrecognized .*option"
+- FAIL_REGEX "ignoring unknown option"
+- FAIL_REGEX "warning:.*ignored"
+- FAIL_REGEX "warning:.*is valid for.*but not for"
+- FAIL_REGEX "warning:.*redefined"
+- FAIL_REGEX "[Ww]arning: [Oo]ption"
+- )
+-
+-MACRO (MY_CHECK_C_COMPILER_FLAG flag)
+- STRING(REGEX REPLACE "[-,= +]" "_" result "have_C_${flag}")
+- SET(SAVE_CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}")
+- SET(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${flag}")
+- CHECK_C_SOURCE_COMPILES("int main(void) { return 0; }" ${result}
+- ${fail_patterns})
+- SET(CMAKE_REQUIRED_FLAGS "${SAVE_CMAKE_REQUIRED_FLAGS}")
+-ENDMACRO()
+-
+-MACRO (MY_CHECK_CXX_COMPILER_FLAG flag)
+- STRING(REGEX REPLACE "[-,= +]" "_" result "have_CXX_${flag}")
+- SET(SAVE_CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}")
+- SET(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${flag}")
+- CHECK_CXX_SOURCE_COMPILES("int main(void) { return 0; }" ${result}
+- ${fail_patterns})
+- SET(CMAKE_REQUIRED_FLAGS "${SAVE_CMAKE_REQUIRED_FLAGS}")
+-ENDMACRO()
++include(CheckCCompilerFlag)
++include(CheckCXXCompilerFlag)
+
+ FUNCTION(MY_CHECK_AND_SET_COMPILER_FLAG flag_to_set)
+ # At the moment this is gcc-only.
+@@ -39,11 +8,11 @@
+ RETURN()
+ ENDIF()
+ STRING(REGEX REPLACE "^-Wno-" "-W" flag_to_check ${flag_to_set})
+- MY_CHECK_C_COMPILER_FLAG(${flag_to_check})
+- MY_CHECK_CXX_COMPILER_FLAG(${flag_to_check})
++ check_c_compiler_flag(${flag_to_check} have_C_${flag_to_check})
++ check_cxx_compiler_flag(${flag_to_check} have_CXX_${flag_to_check})
+ STRING(REGEX REPLACE "[-,= +]" "_" result "${flag_to_check}")
+ FOREACH(lang C CXX)
+- IF (have_${lang}_${result})
++ IF (have_${lang}_${flag_to_check})
+ IF(ARGN)
+ FOREACH(type ${ARGN})
+ SET(CMAKE_${lang}_FLAGS_${type} "${CMAKE_${lang}_FLAGS_${type}} ${flag_to_set}" PARENT_SCOPE)
+diff -U 3 -dHrN -- mariadb-10.3.12_old/CMakeLists.txt mariadb-10.3.12/CMakeLists.txt
+--- mariadb-10.3.12_old/CMakeLists.txt 2019-01-04 16:28:48.000000000 +0100
++++ mariadb-10.3.12/CMakeLists.txt 2019-01-16 10:00:46.533805602 +0100
+@@ -14,7 +14,8 @@
+ # along with this program; if not, write to the Free Software
+ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+-CMAKE_MINIMUM_REQUIRED(VERSION 2.8.7)
++# Not sure, if we could push this further up, 3.0.2 is the oldest documented 3.X version with check_c(xx)_compiler_flag
++CMAKE_MINIMUM_REQUIRED(VERSION 3.0.2 FATAL_ERROR)
+
+ IF(POLICY CMP0022)
+ CMAKE_POLICY(SET CMP0022 NEW)
+diff -U 3 -dHrN -- mariadb-10.3.12_old/configure.cmake mariadb-10.3.12/configure.cmake
+--- mariadb-10.3.12_old/configure.cmake 2019-01-04 16:28:48.000000000 +0100
++++ mariadb-10.3.12/configure.cmake 2019-01-16 09:59:06.603167181 +0100
+@@ -277,7 +277,7 @@
+ FIND_PACKAGE (Threads)
+
+ FUNCTION(MY_CHECK_PTHREAD_ONCE_INIT)
+- MY_CHECK_C_COMPILER_FLAG("-Werror")
++ check_c_compiler_flag("-Werror" have_C__Werror)
+ IF(NOT have_C__Werror)
+ RETURN()
+ ENDIF()