diff options
author | Johannes Dewender | 2015-10-31 16:09:43 +0100 |
---|---|---|
committer | Johannes Dewender | 2015-10-31 16:09:43 +0100 |
commit | dcacc1fe9f2d535bf38d353a0cb5ad6d41ba89fd (patch) | |
tree | e1466f6816cf5d2028a9a82580e45dbcb87245d7 | |
parent | 27cdf788fe43caebcad285c963b797e1b995f895 (diff) | |
download | aur-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-- | .SRCINFO | 11 | ||||
-rw-r--r-- | PKGBUILD | 27 | ||||
-rw-r--r-- | multilib-libraries.patch | 23 | ||||
-rw-r--r-- | native-libedit.patch | 77 |
4 files changed, 126 insertions, 12 deletions
@@ -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 @@ -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 + |