aboutsummaryrefslogtreecommitdiffstats
path: root/databases
diff options
context:
space:
mode:
authorvg <vg@FreeBSD.org>2015-08-23 05:58:12 +0800
committervg <vg@FreeBSD.org>2015-08-23 05:58:12 +0800
commitbbca46cece803570f6e3f668c5c565d2e4b0d9ab (patch)
tree5014375badd4c3bc28eb1d8f6dd6191beac66b02 /databases
parenta2c22f5628c4ce6ccb19e0844c10b660a4381690 (diff)
downloadfreebsd-ports-gnome-bbca46cece803570f6e3f668c5c565d2e4b0d9ab.tar.gz
freebsd-ports-gnome-bbca46cece803570f6e3f668c5c565d2e4b0d9ab.tar.zst
freebsd-ports-gnome-bbca46cece803570f6e3f668c5c565d2e4b0d9ab.zip
- Fix build with GCC 4.8
- Fix build on FreeBSD 9.X - Fix build on i386
Diffstat (limited to 'databases')
-rw-r--r--databases/tarantool/Makefile12
-rw-r--r--databases/tarantool/files/extra-patch-src_trivia_config.h.cmake16
-rw-r--r--databases/tarantool/files/patch-cmake_compiler.cmake13
3 files changed, 35 insertions, 6 deletions
diff --git a/databases/tarantool/Makefile b/databases/tarantool/Makefile
index fb7462523bc5..b9b96c84f777 100644
--- a/databases/tarantool/Makefile
+++ b/databases/tarantool/Makefile
@@ -3,7 +3,7 @@
PORTNAME= tarantool
PORTVERSION= 1.6.5
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= databases
MASTER_SITES= http://tarantool.org/dist/master/
DISTNAME= ${PORTNAME}-${PORTVERSION}-${TR_REV}-src
@@ -16,7 +16,7 @@ LICENSE= BSD2CLAUSE
TR_REV= 238-g74f3d65
MAKE_JOBS_UNSAFE=yes
USES= cmake compiler:c++11-lang gettext gmake perl5 readline
-USE_GCC= 4.9+ # clang bug PR/201270
+USE_GCC= 4.8+ # clang bug PR/201270
USE_LDCONFIG= yes
USE_RC_SUBR= ${PORTNAME}
SUB_FILES= pkg-message
@@ -48,6 +48,10 @@ PLIST_SUB+= TT_USER=${USERS} \
OPTIONS_DEFINE= DEBUG
DEBUG_DESC= Enable debug
+.if defined(USE_GCC) && ${USE_GCC:S/+//} == 4.8
+EXTRA_PATCHES= ${FILESDIR}/extra-patch-src_trivia_config.h.cmake
+.endif
+
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MDEBUG}
@@ -58,10 +62,6 @@ CMAKE_BUILD_TYPE= Rel
CMAKE_ARGS+= -DENABLE_BACKTRACE=OFF
.endif
-.if ${OSVERSION} < 1000000
-IGNORE= does not support FreeBSD versions < 10.0
-.endif
-
post-install:
${MKDIR} ${STAGEDIR}${TT_LOGDIR} \
${STAGEDIR}${TT_DATADIR} \
diff --git a/databases/tarantool/files/extra-patch-src_trivia_config.h.cmake b/databases/tarantool/files/extra-patch-src_trivia_config.h.cmake
new file mode 100644
index 000000000000..15ffb26126c5
--- /dev/null
+++ b/databases/tarantool/files/extra-patch-src_trivia_config.h.cmake
@@ -0,0 +1,16 @@
+--- src/trivia/config.h.cmake.orig 2015-05-15 14:01:37 UTC
++++ src/trivia/config.h.cmake
+@@ -21,6 +21,13 @@
+ #cmakedefine TARGET_OS_LINUX 1
+ /* Defined if building for FreeBSD */
+ #cmakedefine TARGET_OS_FREEBSD 1
++#if defined(TARGET_OS_FREEBSD)
++/*
++ * Fix build with GCC 4.8 when _ThreadRuneLocale undeclared
++ * on FreeBSD.
++ */
++#define __RUNETYPE_INTERNAL
++#endif
+ /* Defined if building for Darwin */
+ #cmakedefine TARGET_OS_DARWIN 1
+ /*
diff --git a/databases/tarantool/files/patch-cmake_compiler.cmake b/databases/tarantool/files/patch-cmake_compiler.cmake
new file mode 100644
index 000000000000..aadc2c84cb0e
--- /dev/null
+++ b/databases/tarantool/files/patch-cmake_compiler.cmake
@@ -0,0 +1,13 @@
+--- cmake/compiler.cmake.orig 2015-08-22 18:47:17 UTC
++++ cmake/compiler.cmake
+@@ -129,6 +129,10 @@ macro(enable_tnt_compile_flags)
+ if (CMAKE_COMPILER_IS_GNUCC)
+ # A workaround for Redhat Developer Toolset 2.x on RHEL/CentOS 5.x
+ add_compile_flags("C" "-fno-gnu89-inline")
++ if (NOT CMAKE_SIZEOF_VOID_P EQUAL 8)
++ add_compile_flags("C;CXX"
++ "-march=i686")
++ endif()
+ endif()
+
+ add_definitions("-D__STDC_FORMAT_MACROS=1")