summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohannes Dewender2015-10-31 16:09:43 +0100
committerJohannes Dewender2015-10-31 16:09:43 +0100
commitdcacc1fe9f2d535bf38d353a0cb5ad6d41ba89fd (patch)
treee1466f6816cf5d2028a9a82580e45dbcb87245d7
parent27cdf788fe43caebcad285c963b797e1b995f895 (diff)
downloadaur-dcacc1fe9f2d535bf38d353a0cb5ad6d41ba89fd.tar.gz
use native libedit, fixes compilation again
Without the change this error occurs: relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
-rw-r--r--.SRCINFO11
-rw-r--r--PKGBUILD27
-rw-r--r--multilib-libraries.patch23
-rw-r--r--native-libedit.patch77
4 files changed, 126 insertions, 12 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 69f354f7d474..062b9ff11f90 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,27 +1,34 @@
pkgbase = voglperf
pkgdesc = benchmarking tool for OpenGL games (frame info, logs, steam support)
pkgver = 0.2
- pkgrel = 5
+ pkgrel = 6
url = https://github.com/ValveSoftware/voglperf
arch = x86_64
arch = i686
license = custom:MIT,
license = BSD
makedepends = cmake
- depends = ncurses
+ makedepends = ncurses
+ makedepends = libedit
conflicts = voglperf
replaces = voglperf
source = https://github.com/ValveSoftware/voglperf/archive/0.2.tar.gz
+ source = multilib-libraries.patch
+ source = native-libedit.patch
sha256sums = c91ab58aaa69d84312ce67090252f28a104952d4335595bbc728e357bf2ad545
+ sha256sums = fdde9ba59e2d3ae2cf8a0225d007b15732adf271bc283366eff377e762dac66f
+ sha256sums = 72c2cb961df7466984bb6aab44e03a8e2793c5ba867da12bcba18842a1210c31
pkgname = voglperf32
arch = x86_64
arch = i686
depends = lib32-ncurses
+ depends = lib32-libedit
depends = lib32-gcc-libs
pkgname = voglperf64
arch = x86_64
depends = ncurses
+ depends = libedit
depends = gcc-libs-multilib
diff --git a/PKGBUILD b/PKGBUILD
index c0978e88fd9e..48fccf73050f 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,20 +2,22 @@
pkgbase=voglperf
pkgname=('voglperf32' 'voglperf64')
pkgver=0.2
-pkgrel=5
+pkgrel=6
pkgdesc="benchmarking tool for OpenGL games (frame info, logs, steam support)"
arch=('x86_64' 'i686')
url="https://github.com/ValveSoftware/voglperf"
license=('custom:MIT', 'BSD')
-depends=('ncurses')
-makedepends=('cmake')
+makedepends=('cmake' 'ncurses' 'libedit')
if [ "$CARCH" = "x86_64" ]; then
- makedepends+=('gcc-multilib' 'lib32-ncurses')
+ makedepends+=('gcc-multilib' 'lib32-ncurses' 'lib32-libedit')
fi
conflicts=('voglperf')
replaces=('voglperf')
-source=(https://github.com/ValveSoftware/$pkgbase/archive/$pkgver.tar.gz)
-sha256sums=('c91ab58aaa69d84312ce67090252f28a104952d4335595bbc728e357bf2ad545')
+source=(https://github.com/ValveSoftware/$pkgbase/archive/$pkgver.tar.gz
+ multilib-libraries.patch native-libedit.patch)
+sha256sums=('c91ab58aaa69d84312ce67090252f28a104952d4335595bbc728e357bf2ad545'
+ 'fdde9ba59e2d3ae2cf8a0225d007b15732adf271bc283366eff377e762dac66f'
+ '72c2cb961df7466984bb6aab44e03a8e2793c5ba867da12bcba18842a1210c31')
prepare() {
cd "$srcdir/$pkgbase-$pkgver"
@@ -29,10 +31,15 @@ prepare() {
sed -i -e 's|./libvoglperf32.so|/usr/lib/libvoglperf.so|' \
src/voglperfrun.cpp
fi
+
+ # use system libedit
+ patch -p1 < ../multilib-libraries.patch
+ patch -p1 < ../native-libedit.patch
+
# ncurses provides libtinfo functionality
# we don't split ncurses into an extra libtinfo on Arch
# fixed in voglperf > 0.2 (8ea79efa85b8970295ae834eb2e41c00ba18df82)
- sed -i -e 's|tinfo|ncurses|' src/CMakeLists.txt
+ sed -i -e 's|tinfo|ncurses|g' src/CMakeLists.txt
}
build() {
@@ -47,9 +54,9 @@ build() {
package_voglperf32() {
arch=('x86_64' 'i686')
if [ "$CARCH" = "i686" ]; then
- depends=('ncurses')
+ depends=('ncurses' 'libedit')
else
- depends=('lib32-ncurses' 'lib32-gcc-libs')
+ depends=('lib32-ncurses' 'lib32-libedit' 'lib32-gcc-libs')
fi
cd "$srcdir/$pkgbase-$pkgver/bin"
install -D voglperfrun32 "$pkgdir/usr/bin/voglperfrun32"
@@ -69,7 +76,7 @@ package_voglperf32() {
package_voglperf64() {
arch=('x86_64')
- depends=('ncurses' 'gcc-libs-multilib')
+ depends=('ncurses' 'libedit' 'gcc-libs-multilib')
cd "$srcdir/$pkgbase-$pkgver/bin"
install -D voglperfrun64 "$pkgdir/usr/bin/voglperfrun64"
install -Dm644 libvoglperf64.so "$pkgdir/usr/lib/libvoglperf.so"
diff --git a/multilib-libraries.patch b/multilib-libraries.patch
new file mode 100644
index 000000000000..3e17a4abea0d
--- /dev/null
+++ b/multilib-libraries.patch
@@ -0,0 +1,23 @@
+From 717dc9170079e8adce02728859ee096102957223 Mon Sep 17 00:00:00 2001
+From: Daniel Scharrer <daniel@constexpr.org>
+Date: Thu, 29 May 2014 18:15:01 +0200
+Subject: [PATCH] Fix compiling voglperf32 on non-multiarch systems
+
+For some reason CMake doesn't natively support lib32 paths :/
+---
+ src/build_options.cmake | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/build_options.cmake b/src/build_options.cmake
+index 4d07d18..ff0c7b4 100644
+--- a/src/build_options.cmake
++++ b/src/build_options.cmake
+@@ -31,6 +31,8 @@ else()
+ set(CMAKE_SHARED_LIBRARY_SUFFIX "32.so")
+ # TODO: get dir from: gcc -print-multiarch -m32
+ set(LIBDIR "i386-linux-gnu")
++ set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS False)
++ list(APPEND CMAKE_LIBRARY_PATH /usr/lib32 /usr/local/lib32)
+ endif()
+
+ option(CMAKE_VERBOSE "Verbose CMake" FALSE)
diff --git a/native-libedit.patch b/native-libedit.patch
new file mode 100644
index 000000000000..9f39de67b29f
--- /dev/null
+++ b/native-libedit.patch
@@ -0,0 +1,77 @@
+From 7aa73add5bb8e9ffe3a9dde08352d94f76f32c8a Mon Sep 17 00:00:00 2001
+From: Gregory King <gking@bender>
+Date: Tue, 31 Mar 2015 11:50:16 -0700
+Subject: [PATCH] Updated build procedure. README.md: (1) Added additional
+ set of packages to be installed; This includes libedit, ncurses,
+ gcc-dev libraries;
+
+src/CMakeLists.txt:
+ (1) Removed the inclusion of libedit (within the repository);
+ (2) Added simple cmake finding of the libraries necessary to build voglperf;
+
+NOTE: The license should be the same.[Hopefully someone can verify this];
+
+(rebased onto 0.2; not deleting libedit)
+---
+ README.md | 2 +
+ src/CMakeLists.txt | 25 +-
+ src/libedit-3.1/README | 3 -
+ src/libedit-3.1/include/editline/readline.h | 224 -----------------
+ src/libedit-3.1/include/histedit.h | 319 -------------------------
+ src/libedit-3.1/lib/i386-linux-gnu/libedit.a | Bin 718492 -> 0 bytes
+ src/libedit-3.1/lib/x86_64-linux-gnu/libedit.a | Bin 1044248 -> 0 bytes
+ 7 files changed, 23 insertions(+), 550 deletions(-)
+
+diff --git a/README.md b/README.md
+index ffaf7a6..c27d6a5 100644
+--- a/README.md
++++ b/README.md
+@@ -57,6 +57,8 @@ Building voglperf on SteamOS
+ * `sudo apt-get update`
+ * `sudo apt-get install git ca-certificates cmake g++ gcc-multilib g++-multilib`
+ * `sudo apt-get install mesa-common-dev libedit-dev libtinfo-dev libtinfo-dev:i386`
++ * `sudo apt-get install libedit-dev libedit-dev:i386 libncurses5-dev
++libncurses5-dev:i386 libgcc-dev libgcc-dev:i386 lib32gcc-dev libgcc-dev libstdc++-dev libstdc++-dev:i386`
+
+ - Get the volgperf source:
+ * `git clone https://github.com/ValveSoftware/voglperf.git`
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 350132f..0aa7750 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -37,11 +37,28 @@ build_options_finalize()
+ #
+ project(voglperfrun)
+
+-# Add libedit library.
+-include_directories(${CMAKE_SOURCE_DIR}/libedit-3.1/include)
++
++#require tinfo and curses
++find_library(curses_LIBRARY NAMES curses )
++if(NOT curses_LIBRARY)
++ message(FATAL_ERROR "Could not find libcurses")
++endif()
++
++find_library(tinfo_LIBRARY NAMES tinfo )
++if(NOT tinfo_LIBRARY)
++ message(FATAL_ERROR "Could not find libtinfo")
++endif()
++
++find_library(edit_LIBRARY NAMES edit )
++if(NOT edit_LIBRARY)
++ message(FATAL_ERROR "Could not find libedit")
++endif()
++
++#
+ set(LIBEDIT_LIBS
+- "${CMAKE_SOURCE_DIR}/libedit-3.1/lib/${LIBDIR}/libedit.a"
+- tinfo
++ ${edit_LIBRARY}
++ ${tinfo_LIBRARY}
++ ${curses_LIBRARY}
+ )
+
+ set(SRC_LIST
+--
+2.6.1
+