summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuillaume Horel2018-11-21 11:13:37 -0500
committerGuillaume Horel2018-11-21 11:13:37 -0500
commit269f28c0bb16fee17096934502576748bd2120a3 (patch)
tree650d39a1528e24f90de7fc2fad62dc80d0fbb8ac
parentbc712b583fa99cd20e7c18dde109b8299cd20d25 (diff)
downloadaur-269f28c0bb16fee17096934502576748bd2120a3.tar.gz
version bump
-rw-r--r--.SRCINFO13
-rw-r--r--2928468ef665e106339fcc1161a9c1e1ebcfc2a3.patch56
-rw-r--r--PKGBUILD25
-rw-r--r--f4f62699e5d5b821e83dc2f902d486cf5c2b2755.patch32
-rw-r--r--fix-linking.patch15
5 files changed, 132 insertions, 9 deletions
diff --git a/.SRCINFO b/.SRCINFO
index f0d09dc71566..9b6982d7a1ce 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = arrow
pkgdesc = A columnar in-memory analytics layer for big data.
- pkgver = 0.11.0
+ pkgver = 0.11.1
pkgrel = 1
url = https://arrow.apache.org
arch = x86_64
@@ -10,6 +10,7 @@ pkgbase = arrow
makedepends = cmake
makedepends = boost
makedepends = brotli
+ makedepends = double-conversion
makedepends = flatbuffers-static
makedepends = google-glog-static
makedepends = lz4-static
@@ -21,8 +22,14 @@ pkgbase = arrow
depends = rapidjson
provides = parquet-cpp
conflicts = parquet-cpp
- source = https://github.com/apache/arrow/archive/apache-arrow-0.11.0.tar.gz
- sha256sums = 0ac629a7775d86108e403eb66d9f1a3d3bdd6b3a497a86228aa4e8143364b7cc
+ source = https://github.com/apache/arrow/archive/apache-arrow-0.11.1.tar.gz
+ source = 2928468ef665e106339fcc1161a9c1e1ebcfc2a3.patch
+ source = f4f62699e5d5b821e83dc2f902d486cf5c2b2755.patch
+ source = fix-linking.patch
+ sha256sums = 3219c4e87e7cf979017f0cc5bc5dd6a3611d0fc750e821911fab998599dc125b
+ sha256sums = d5170d6d7ad24cf850baa2c60e26a43e089c18046b13c01e071745a23c239d36
+ sha256sums = 4a839e1229e1c4369948ebb02e78a15bf77dcf1bd03ace3aa3002ba35c5cb659
+ sha256sums = ce8aab9d77bc2d8fe1e4fad0221fd19abe190e8139fbd73b939f7404ed6f1b43
pkgname = arrow
diff --git a/2928468ef665e106339fcc1161a9c1e1ebcfc2a3.patch b/2928468ef665e106339fcc1161a9c1e1ebcfc2a3.patch
new file mode 100644
index 000000000000..e8487563f3da
--- /dev/null
+++ b/2928468ef665e106339fcc1161a9c1e1ebcfc2a3.patch
@@ -0,0 +1,56 @@
+From 2928468ef665e106339fcc1161a9c1e1ebcfc2a3 Mon Sep 17 00:00:00 2001
+From: Dmitry Kalinkin <dmitry.kalinkin@gmail.com>
+Date: Tue, 9 Oct 2018 13:57:30 +0200
+Subject: [PATCH] ARROW-3467: [C++] Fix building against external
+ double-conversion
+
+Author: Dmitry Kalinkin <dmitry.kalinkin@gmail.com>
+
+Closes #2728 from veprbl/pr/ARROW-3467 and squashes the following commits:
+
+1ce23de8 <Dmitry Kalinkin> ARROW-3467: remove indirection by renaming external double-conversion target to double-conversion::double-conversion
+595c62c1 <Dmitry Kalinkin> ARROW-3467: double-conversion 3.1.1+ uses double-conversion:: prefix for CMake target name
+---
+ cpp/CMakeLists.txt | 4 ++--
+ cpp/cmake_modules/ThirdpartyToolchain.cmake | 4 ++--
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt
+index 4448b989e3..40575a7d8b 100644
+--- a/cpp/CMakeLists.txt
++++ b/cpp/CMakeLists.txt
+@@ -615,7 +615,7 @@ endif(UNIX)
+ set(ARROW_LINK_LIBS)
+
+ # Libraries to link statically with libarrow.so
+-set(ARROW_STATIC_LINK_LIBS double-conversion)
++set(ARROW_STATIC_LINK_LIBS double-conversion::double-conversion)
+
+ if (ARROW_WITH_BROTLI)
+ SET(ARROW_STATIC_LINK_LIBS
+@@ -694,7 +694,7 @@ else ()
+ set(ARROW_MIN_TEST_LIBS
+ arrow_shared
+ ${ARROW_LINK_LIBS}
+- double-conversion
++ double-conversion::double-conversion
+ ${BOOST_SYSTEM_LIBRARY}
+ ${BOOST_FILESYSTEM_LIBRARY}
+ ${BOOST_REGEX_LIBRARY}
+diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake
+index e6c7f7828f..d8142293ba 100644
+--- a/cpp/cmake_modules/ThirdpartyToolchain.cmake
++++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake
+@@ -489,10 +489,10 @@ else()
+ endif()
+
+ include_directories(SYSTEM ${DOUBLE_CONVERSION_INCLUDE_DIR})
+-ADD_THIRDPARTY_LIB(double-conversion
+- STATIC_LIB ${DOUBLE_CONVERSION_STATIC_LIB})
+
+ if (DOUBLE_CONVERSION_VENDORED)
++ ADD_THIRDPARTY_LIB(double-conversion::double-conversion
++ STATIC_LIB ${DOUBLE_CONVERSION_STATIC_LIB})
+ add_dependencies(arrow_dependencies double-conversion_ep)
+ endif()
+
diff --git a/PKGBUILD b/PKGBUILD
index 7cba21cbcc27..8d1b397a4049 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,7 +1,7 @@
# Maintainer: Guillaume Horel <guillaume.horel@gmail.com>
pkgname='arrow'
-pkgver=0.11.0
+pkgver=0.11.1
pkgrel=1
pkgdesc="A columnar in-memory analytics layer for big data."
arch=('x86_64')
@@ -12,15 +12,28 @@ checkdepends=('gflags')
optdepends=()
provides=('parquet-cpp')
conflicts=('parquet-cpp')
-makedepends=('apache-orc' 'cmake' 'boost' 'brotli' 'flatbuffers-static' 'google-glog-static' 'lz4-static' 'protobuf-static' 'zlib-static' 'zstd-static' 'snappy-static')
-source=("https://github.com/apache/arrow/archive/apache-arrow-$pkgver.tar.gz")
-sha256sums=('0ac629a7775d86108e403eb66d9f1a3d3bdd6b3a497a86228aa4e8143364b7cc')
+makedepends=('apache-orc' 'cmake' 'boost' 'brotli' 'double-conversion' 'flatbuffers-static' 'google-glog-static' 'lz4-static' 'protobuf-static' 'zlib-static' 'zstd-static' 'snappy-static')
+source=("https://github.com/apache/arrow/archive/apache-arrow-$pkgver.tar.gz"
+"2928468ef665e106339fcc1161a9c1e1ebcfc2a3.patch"
+"f4f62699e5d5b821e83dc2f902d486cf5c2b2755.patch"
+"fix-linking.patch")
+sha256sums=('3219c4e87e7cf979017f0cc5bc5dd6a3611d0fc750e821911fab998599dc125b'
+ 'd5170d6d7ad24cf850baa2c60e26a43e089c18046b13c01e071745a23c239d36'
+ '4a839e1229e1c4369948ebb02e78a15bf77dcf1bd03ace3aa3002ba35c5cb659'
+ 'ce8aab9d77bc2d8fe1e4fad0221fd19abe190e8139fbd73b939f7404ed6f1b43')
+
+prepare(){
+ cd "${srcdir}/$pkgname-apache-$pkgname-$pkgver"
+ patch -p1 < ../fix-linking.patch
+ patch -p1 < ../f4f62699e5d5b821e83dc2f902d486cf5c2b2755.patch
+ patch -p1 < ../2928468ef665e106339fcc1161a9c1e1ebcfc2a3.patch
+}
build(){
cd "$srcdir"
mkdir -p build
cd "$srcdir/build"
- ARROW_BUILD_TOOLCHAIN=/usr ORC_HOME=/usr cmake \
+ ARROW_BUILD_TOOLCHAIN=/usr ORC_HOME=/usr DOUBLE_CONVERSION_HOME=/usr cmake \
../$pkgname-apache-$pkgname-$pkgver/cpp -DARROW_PARQUET=ON \
-DARROW_PYTHON=ON \
-DCMAKE_BUILD_TYPE=Release \
@@ -33,7 +46,7 @@ build(){
-DARROW_PLASMA=ON \
-DARROW_TENSORFLOW=ON \
-DARROW_USE_SSE=ON
- make
+ make VERBOSE=1
}
package(){
diff --git a/f4f62699e5d5b821e83dc2f902d486cf5c2b2755.patch b/f4f62699e5d5b821e83dc2f902d486cf5c2b2755.patch
new file mode 100644
index 000000000000..cd8784e64460
--- /dev/null
+++ b/f4f62699e5d5b821e83dc2f902d486cf5c2b2755.patch
@@ -0,0 +1,32 @@
+From f4f62699e5d5b821e83dc2f902d486cf5c2b2755 Mon Sep 17 00:00:00 2001
+From: Antoine Pitrou <antoine@python.org>
+Date: Tue, 9 Oct 2018 09:00:02 -0400
+Subject: [PATCH] ARROW-3466: [C++] Avoid leaking protobuf symbols
+
+Our linker script hides "google::*" symbols exported from various C++ modules, but that isn't enough to actually hide all symbols. Some symbols (vtables, destructors, "guard variables"...) aren't hidden.
+
+The ORC library links protobuf statically, and we link ORC statically. So we ended up exporting protobuf symbols. When linking another protobuf instance dynamically (like tensorflow does), this can wreak havoc. Hiding all symbols fixes the issue.
+
+Author: Antoine Pitrou <antoine@python.org>
+
+Closes #2731 from pitrou/ARROW-3466-protobuf-symbol-leak and squashes the following commits:
+
+0aa4648aa <Antoine Pitrou> ARROW-3466: Avoid leaking protobuf symbols
+---
+ cpp/src/arrow/symbols.map | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/cpp/src/arrow/symbols.map b/cpp/src/arrow/symbols.map
+index 69717f089d..96faf596d5 100644
+--- a/cpp/src/arrow/symbols.map
++++ b/cpp/src/arrow/symbols.map
+@@ -62,6 +62,9 @@
+ je_arrow_*;
+ # ORC destructors
+ _ZThn8_N3orc*;
++ # Protobuf symbols that aren't hidden by the C++ section below
++ # (destructors, vtables, other stuff)
++ *N6google8protobuf*;
+
+ extern "C++" {
+ # devtoolset or -static-libstdc++ - the Red Hat devtoolset statically
diff --git a/fix-linking.patch b/fix-linking.patch
new file mode 100644
index 000000000000..073c9bb06bf5
--- /dev/null
+++ b/fix-linking.patch
@@ -0,0 +1,15 @@
+diff -urN arrow-apache-arrow-0.11.0-orig/cpp/CMakeLists.txt arrow-apache-arrow-0.11.0/cpp/CMakeLists.txt
+--- arrow-apache-arrow-0.11.0-orig/cpp/CMakeLists.txt 2018-10-11 10:18:19.912126993 -0400
++++ arrow-apache-arrow-0.11.0/cpp/CMakeLists.txt 2018-10-11 10:18:41.159412003 -0400
+@@ -646,8 +646,9 @@
+
+ if (ARROW_ORC)
+ SET(ARROW_STATIC_LINK_LIBS
+- ${ARROW_STATIC_LINK_LIBS}
+- orc)
++ orc ${ARROW_STATIC_LINK_LIBS}
++ )
+ endif()
++ message(STATUS ${ARROW_STATIC_LINK_LIBS})
+
+ if (ARROW_USE_GLOG)