From c4783c7c5821a53fc530dc7f11e088fdd327fe3a Mon Sep 17 00:00:00 2001 From: Christian Kellner Date: Mar 12 2018 09:37:02 +0000 Subject: Update to renderdoc 1.0 - renderdoc 1.0 (new upstream stable) - Update swig modified source to version 5 - Drop Patch0 (lib subfolder), it is upstream now - Add patch to build on i386 --- diff --git a/.gitignore b/.gitignore index a53fc5d..e014d31 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ /renderdoc-0.91.tar.gz /swig-modified-1.tar.gz +/renderdoc-1.0.tar.gz +/swig-modified-5.tar.gz diff --git a/renderdoc.spec b/renderdoc.spec index a7b695b..4e3d248 100644 --- a/renderdoc.spec +++ b/renderdoc.spec @@ -1,7 +1,7 @@ -%global vswig modified-1 +%global vswig modified-5 Name: renderdoc -Version: 0.91 -Release: 7%{?dist} +Version: 1.0 +Release: 1%{?dist} Summary: A stand-alone graphics debugging tool License: MIT @@ -9,9 +9,8 @@ URL: https://renderdoc.org Source0: https://github.com/baldurk/renderdoc/archive/v%{version}/%{name}-%{version}.tar.gz Source1: https://github.com/baldurk/swig/archive/renderdoc-%{vswig}/swig-%{vswig}.tar.gz -# Install the private library into a private directory -# https://github.com/baldurk/renderdoc/issues/750 -Patch0: subfolder.patch +# https://github.com/baldurk/renderdoc/issues/906 +Patch0: swig-i386.patch # plthook library, used by renderdoc is only supported on x86 ExclusiveArch: %{ix86} x86_64 @@ -103,6 +102,12 @@ desktop-file-validate %{buildroot}/%{_datadir}/applications/%{name}.desktop %changelog +* Sun Mar 11 2018 Christian Kellner - 1.0-1 +- renderdoc 1.0 (new upstream stable) +- Update swig modified source to version 5 +- Drop Patch0 (lib subfolder), it is upstream now +- Add patch to build on i386 + * Wed Mar 07 2018 Adam Williamson - 0.91-7 - Rebuild to fix GCC 8 mis-compilation See https://da.gd/YJVwk ("GCC 8 ABI change on x86_64") diff --git a/sources b/sources index 4f4a1a0..71c24be 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (renderdoc-0.91.tar.gz) = d715f2c182bf3f049f4efbc6a85b75e6e0ed9ce5830baf8cb5249e936d7ed317f6cb5592267d249e50f95bdd901a4dbb4ff2635de110cdecab06cdff8d2d61b7 -SHA512 (swig-modified-1.tar.gz) = bcd73a994c78975b3f5422d39670d33eb64981244c3c7cfbfae65e7190dd1aacf0eb6ab6ee6ca6d230d5fdaface3fb8f761ab2df652ceb289aa87956c018caa4 +SHA512 (renderdoc-1.0.tar.gz) = 58f32805fd7677586ba93fdad63675a5ad182c5c44f5048375494de08d2fd06a024293af3eb581a764f94d768d2c1483146e2dc86f93da4496fb2b4007de7ce1 +SHA512 (swig-modified-5.tar.gz) = acfae4cb67ff7225b7397c35ccc3b8b41f20efb7ac8d606a3fff12a10bea1aea2512eb8394e3b93c131b4253bb7bbeb83718eec0f78840989b8c989a827a9474 diff --git a/subfolder.patch b/subfolder.patch deleted file mode 100644 index 1cf41d4..0000000 --- a/subfolder.patch +++ /dev/null @@ -1,172 +0,0 @@ -From 64febd4c1fd8f15b7aabcd68c99eca0e629ddd38 Mon Sep 17 00:00:00 2001 -From: baldurk -Date: Tue, 26 Sep 2017 11:00:17 +0100 -Subject: [PATCH] Add support for specifying a subfolder under the lib/ target. - Refs #750 - -* This allows a buidler to customise from e.g. /usr/lib/librenderdoc.so - to /usr/lib/renderdoc/librenderdoc.so - which is harmless since the - library is 'private' and not intended to be linked against directly. ---- - CMakeLists.txt | 14 ++++++++++++++ - qrenderdoc/CMakeLists.txt | 3 +++ - qrenderdoc/Code/pyrenderdoc/CMakeLists.txt | 2 +- - qrenderdoc/qrenderdoc.pro | 2 +- - renderdoc/CMakeLists.txt | 2 +- - renderdoc/driver/vulkan/CMakeLists.txt | 2 +- - renderdoc/os/posix/posix_process.cpp | 9 +++++++++ - renderdoc/os/posix/posix_stringio.cpp | 13 +++++++++++-- - renderdoccmd/CMakeLists.txt | 2 +- - 9 files changed, 42 insertions(+), 7 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 44d3bf70..fce5fa56 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -40,6 +40,20 @@ set(RENDERDOC_PLUGINS_PATH "" CACHE STRING "Path to RenderDoc plugins folder aft - set(RENDERDOC_APK_PATH "" CACHE STRING "Path to RenderDocCmd.apk after installation of RenderDoc on host (either absolute or relative to binary)") - set(RENDERDOC_LAYER_PATH "" CACHE STRING "Path to ABI directories (i.e. lib in lib/armeabi-v7a/libVkLayer_GLES_RenderDoc.so) after installation of RenderDoc on host (either absolute or relative to dir)") - -+set(LIB_SUFFIX "" CACHE STRING "Suffix for 'lib' folder in target directory structure. E.g. set to '64' to use /usr/local/lib64 instead of /usr/local/lib.") -+set(LIB_SUBFOLDER "" CACHE STRING "Subfolder under the 'lib' folder in target directory structure. E.g. set to 'renderdoc' to use /usr/local/lib/renderdoc instead of /usr/local/lib.") -+ -+if(NOT LIB_SUFFIX STREQUAL "") -+ add_definitions(-DRENDERDOC_LIB_SUFFIX=${LIB_SUFFIX}) -+endif() -+ -+set(LIB_SUBFOLDER_TRAIL_SLASH "") -+ -+if(NOT LIB_SUBFOLDER STREQUAL "") -+ add_definitions(-DRENDERDOC_LIB_SUBFOLDER=${LIB_SUBFOLDER}) -+ set(LIB_SUBFOLDER_TRAIL_SLASH "${LIB_SUBFOLDER}/") -+endif() -+ - if(BUILD_VERSION_STABLE) - add_definitions(-DRENDERDOC_STABLE_BUILD=1) - endif() -diff --git a/qrenderdoc/CMakeLists.txt b/qrenderdoc/CMakeLists.txt -index 2df9ffa5..516a5a59 100644 ---- a/qrenderdoc/CMakeLists.txt -+++ b/qrenderdoc/CMakeLists.txt -@@ -102,6 +102,9 @@ file(WRITE - "QMAKE_CXXFLAGS+=${QMAKE_CXXFLAGS}\n" - "QMAKE_LFLAGS+=${QMAKE_LDFLAGS}\n" - "\n" -+ "LIB_SUFFIX=${LIB_SUFFIX}\n" -+ "LIB_SUBFOLDER_TRAIL_SLASH=${LIB_SUBFOLDER_TRAIL_SLASH}\n" -+ "\n" - # search for -lrenderdoc here - "LIBS+=-L${CMAKE_RUNTIME_OUTPUT_DIRECTORY}\n" - "\n" -diff --git a/qrenderdoc/Code/pyrenderdoc/CMakeLists.txt b/qrenderdoc/Code/pyrenderdoc/CMakeLists.txt -index 15109454..02aabb43 100644 ---- a/qrenderdoc/Code/pyrenderdoc/CMakeLists.txt -+++ b/qrenderdoc/Code/pyrenderdoc/CMakeLists.txt -@@ -33,7 +33,7 @@ set(MODULE_DEFINES - # Set up rpath to find librenderdoc.so - set(CMAKE_SKIP_BUILD_RPATH TRUE) - set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE) --set(CMAKE_INSTALL_RPATH "$ORIGIN/:$ORIGIN/../lib/") -+set(CMAKE_INSTALL_RPATH "$ORIGIN/:$ORIGIN/../lib${LIB_SUFFIX}/${LIB_SUBFOLDER_TRAIL_SLASH}") - - # Add python library - set (CMAKE_SHARED_LINKER_FLAGS "${PYTHON_LIBRARY} ${CMAKE_SHARED_LINKER_FLAGS}") -diff --git a/qrenderdoc/qrenderdoc.pro b/qrenderdoc/qrenderdoc.pro -index 5a8123b6..a7392965 100644 ---- a/qrenderdoc/qrenderdoc.pro -+++ b/qrenderdoc/qrenderdoc.pro -@@ -115,7 +115,7 @@ win32 { - - # Link against the core library - LIBS += -lrenderdoc -- QMAKE_LFLAGS += '-Wl,-rpath,\'\$$ORIGIN\',-rpath,\'\$$ORIGIN/../lib\'' -+ QMAKE_LFLAGS += '-Wl,-rpath,\'\$$ORIGIN\',-rpath,\'\$$ORIGIN/../lib'$$LIB_SUFFIX'/'$$LIB_SUBFOLDER_TRAIL_SLASH'\'' - - # Add the SWIG files that were generated in cmake - SOURCES += $$CMAKE_DIR/qrenderdoc/renderdoc_python.cxx -diff --git a/renderdoc/CMakeLists.txt b/renderdoc/CMakeLists.txt -index 6f997ab4..6c2b44b5 100644 ---- a/renderdoc/CMakeLists.txt -+++ b/renderdoc/CMakeLists.txt -@@ -315,7 +315,7 @@ if(ANDROID) - set_target_properties(renderdoc PROPERTIES LINK_FLAGS "-Wl,--build-id") - endif() - --install (TARGETS renderdoc DESTINATION lib${LIB_SUFFIX}) -+install (TARGETS renderdoc DESTINATION lib${LIB_SUFFIX}/${LIB_SUBFOLDER}) - - # Copy in application API header to include - install (FILES api/app/renderdoc_app.h DESTINATION include RENAME renderdoc.h) -diff --git a/renderdoc/driver/vulkan/CMakeLists.txt b/renderdoc/driver/vulkan/CMakeLists.txt -index 9ddd2ba7..1e0ab656 100644 ---- a/renderdoc/driver/vulkan/CMakeLists.txt -+++ b/renderdoc/driver/vulkan/CMakeLists.txt -@@ -65,7 +65,7 @@ elseif(UNIX) - set(json_in ${CMAKE_CURRENT_SOURCE_DIR}/renderdoc.json) - set(json_out ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/renderdoc_capture.json) - add_custom_command(OUTPUT ${json_out} -- COMMAND sed '{s%\\[MAJOR\\]%${RENDERDOC_VERSION_MAJOR}%\; s%\\[MINOR\\]%${RENDERDOC_VERSION_MINOR}%\; s%...renderdoc.dll%${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}/librenderdoc.so%}' < ${json_in} > ${json_out} -+ COMMAND sed '{s%\\[MAJOR\\]%${RENDERDOC_VERSION_MAJOR}%\; s%\\[MINOR\\]%${RENDERDOC_VERSION_MINOR}%\; s%...renderdoc.dll%${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}/${LIB_SUBFOLDER_TRAIL_SLASH}librenderdoc.so%}' < ${json_in} > ${json_out} - DEPENDS ${json_in}) - add_custom_target(generate-json ALL DEPENDS ${json_out}) - -diff --git a/renderdoc/os/posix/posix_process.cpp b/renderdoc/os/posix/posix_process.cpp -index 774b871a..9e452a65 100644 ---- a/renderdoc/os/posix/posix_process.cpp -+++ b/renderdoc/os/posix/posix_process.cpp -@@ -493,6 +493,15 @@ uint32_t Process::LaunchAndInjectIntoProcess(const char *app, const char *workin - FileIO::GetExecutableFilename(binpath); - binpath = dirname(binpath); - libpath = binpath + "/../lib"; -+ -+// point to the right customiseable path -+#if defined(RENDERDOC_LIB_SUFFIX) -+ libpath += STRINGIZE(RENDERDOC_LIB_SUFFIX); -+#endif -+ -+#if defined(RENDERDOC_LIB_SUBFOLDER) -+ libpath += "/" STRINGIZE(RENDERDOC_LIB_SUBFOLDER); -+#endif - } - - string optstr; -diff --git a/renderdoc/os/posix/posix_stringio.cpp b/renderdoc/os/posix/posix_stringio.cpp -index eceea025..a9185a68 100644 ---- a/renderdoc/os/posix/posix_stringio.cpp -+++ b/renderdoc/os/posix/posix_stringio.cpp -@@ -153,8 +153,17 @@ string GetReplayAppFilename() - } - - // if it's not in the same directory, try in a sibling /bin -- // e.g. /foo/bar/lib/librenderdoc.so -> /foo/bar/bin/qrenderdoc -- replay = path + "/../bin/qrenderdoc"; -+ // -+ // start from our path -+ replay = path + "/"; -+ -+// if there's a custom lib subfolder, go up one (e.g. /usr/lib/renderdoc/librenderdoc.so) -+#if defined(RENDERDOC_LIB_SUBFOLDER) -+ replay += "../"; -+#endif -+ -+ // leave the lib/ folder, and go into bin/ -+ replay += "../bin/qrenderdoc"; - - f = FileIO::fopen(replay.c_str(), "r"); - if(f) -diff --git a/renderdoccmd/CMakeLists.txt b/renderdoccmd/CMakeLists.txt -index c748dccd..aa8975a1 100644 ---- a/renderdoccmd/CMakeLists.txt -+++ b/renderdoccmd/CMakeLists.txt -@@ -45,7 +45,7 @@ if(ANDROID) - else() - set(CMAKE_SKIP_BUILD_RPATH TRUE) - set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE) -- set(CMAKE_INSTALL_RPATH "$ORIGIN/:$ORIGIN/../lib/") -+ set(CMAKE_INSTALL_RPATH "$ORIGIN/:$ORIGIN/../lib${LIB_SUFFIX}/${LIB_SUBFOLDER_TRAIL_SLASH}") - set(CMAKE_EXE_LINKER_FLAGS "${LINKER_FLAGS}") - - add_executable(renderdoccmd ${sources}) --- -2.13.5 - diff --git a/swig-i386.patch b/swig-i386.patch new file mode 100644 index 0000000..1ebb7f5 --- /dev/null +++ b/swig-i386.patch @@ -0,0 +1,25 @@ +commit 4a5393b41e4d4f068e2af397980a5c7455be6b01 +Author: RĂ©mi Verschelde +Date: Fri Mar 9 12:14:11 2018 +0100 + + CMake: Set SWIG word size based on architecture + + Fixes #906. + +diff --git a/qrenderdoc/CMakeLists.txt b/qrenderdoc/CMakeLists.txt +index 0cd823aa9..a3dab7f81 100644 +--- a/qrenderdoc/CMakeLists.txt ++++ b/qrenderdoc/CMakeLists.txt +@@ -16,7 +16,11 @@ if(STATIC_QRENDERDOC) + endif() + + if(NOT APPLE) +- set(SWIG_FLAGS "-DSWIGWORDSIZE64") ++ if(CMAKE_SIZEOF_VOID_P EQUAL 8) # 64-bit ++ set(SWIG_FLAGS "-DSWIGWORDSIZE64") ++ else() # 32-bit ++ set(SWIG_FLAGS "-DSWIGWORDSIZE32") ++ endif() + endif() + + if(QRENDERDOC_NO_CXX11_REGEX)