diff options
Diffstat (limited to 'sci-biology/bamtools/files/bamtools-2.4.1-fix-build-system.patch')
-rw-r--r-- | sci-biology/bamtools/files/bamtools-2.4.1-fix-build-system.patch | 209 |
1 files changed, 0 insertions, 209 deletions
diff --git a/sci-biology/bamtools/files/bamtools-2.4.1-fix-build-system.patch b/sci-biology/bamtools/files/bamtools-2.4.1-fix-build-system.patch deleted file mode 100644 index 795972330303..000000000000 --- a/sci-biology/bamtools/files/bamtools-2.4.1-fix-build-system.patch +++ /dev/null @@ -1,209 +0,0 @@ -* Unbundle jsoncpp -* Remove forcing C++98 -* Remove forcing CMAKE_BUILD_TYPE -* Remove -fPIC globally -* Fix LFS macro definitions -* Make building static library optional -* Use GNUInstallDirs conventions -* Install .pc file -See also: https://bugs.gentoo.org/show_bug.cgi?id=550144 - -Taken from https://github.com/pezmaster31/bamtools/pull/139 - ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -9,7 +9,14 @@ - project( BamTools ) - - # Cmake requirements --cmake_minimum_required( VERSION 2.6.4 ) -+cmake_minimum_required( VERSION 3.0 ) -+ -+# on macOS, MACOSX_RPATH is enabled by default on more recent versions -+# of CMake. Disable this behaviour, and let user enable it if need be. -+cmake_policy( SET CMP0042 OLD ) -+ -+# Adhere to GNU filesystem layout conventions -+include( GNUInstallDirs ) - - # Force the build directory to be different from source directory - macro( ENSURE_OUT_OF_SOURCE_BUILD MSG ) -@@ -34,18 +41,21 @@ - set( BamTools_VERSION_MINOR 4 ) - set( BamTools_VERSION_BUILD 1 ) - --# set our library and executable destination dirs --set( EXECUTABLE_OUTPUT_PATH "${CMAKE_SOURCE_DIR}/bin" ) --set( LIBRARY_OUTPUT_PATH "${CMAKE_SOURCE_DIR}/lib" ) -- - # define compiler flags for all code --set( CMAKE_BUILD_TYPE Release ) --set( CMAKE_CXX_FLAGS_RELEASE "-std=c++98 ${CMAKE_CXX_FLAGS_RELEASE}" ) --add_definitions( -Wall -D_FILE_OFFSET_BITS=64 ) -+add_definitions( -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE ) -+add_compile_options( -Wall ) - - # ----------------------------------------------- - # handle platform-/environment-specific defines - -+# Make building the static library optional -+option( BUILD_STATIC "Build static libbamtools archive" OFF ) -+if( BUILD_STATIC ) -+ set( BAMTOOLS_CMD_LDFLAGS BamTools-static ) -+else() -+ set( BAMTOOLS_CMD_LDFLAGS BamTools ) -+endif() -+ - # If planning to run in Node.js environment, run: - # cmake -DEnableNodeJS=true - if( EnableNodeJS ) -@@ -57,6 +67,11 @@ - add_definitions( -DSUN_OS ) - endif() - -+# find system JsonCpp -+find_package( PkgConfig ) -+pkg_search_module( JSONCPP jsoncpp>=1 ) -+ -+ - # ------------------------------------------- - - # add our includes root path ---- a/src/api/CMakeLists.txt -+++ b/src/api/CMakeLists.txt -@@ -10,7 +10,6 @@ - - # add compiler definitions - add_definitions( -DBAMTOOLS_API_LIBRARY ) # (for proper exporting of library symbols) --add_definitions( -fPIC ) # (attempt to force PIC compiling on CentOS, not being set on shared libs by CMake) - - # fetch all internal source files - add_subdirectory( internal ) -@@ -31,18 +30,6 @@ - ${InternalSources} - ) - --# create main BamTools API shared library --add_library( BamTools SHARED ${BamToolsAPISources} ) --set_target_properties( BamTools PROPERTIES -- SOVERSION "2.4.1" -- OUTPUT_NAME "bamtools" ) -- --# create main BamTools API static library --add_library( BamTools-static STATIC ${BamToolsAPISources} ) --set_target_properties( BamTools-static PROPERTIES -- OUTPUT_NAME "bamtools" -- PREFIX "lib" ) -- - # link libraries automatically with zlib (and Winsock2, if applicable) - if( WIN32 ) - set( APILibs z ws2_32 ) -@@ -50,12 +37,23 @@ - set( APILibs z ) - endif() - --target_link_libraries( BamTools ${APILibs} ) --target_link_libraries( BamTools-static ${APILibs} ) -+# create main BamTools API shared library -+add_library( BamTools SHARED ${BamToolsAPISources} ) -+set_target_properties( BamTools PROPERTIES -+ SOVERSION "2.4.1" -+ OUTPUT_NAME "bamtools" ) -+target_link_libraries( BamTools ${APILibs} ) -+install( TARGETS BamTools LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" ) - --# set library install destinations --install( TARGETS BamTools LIBRARY DESTINATION "lib/bamtools" RUNTIME DESTINATION "bin") --install( TARGETS BamTools-static ARCHIVE DESTINATION "lib/bamtools") -+# create main BamTools API static library -+if( BUILD_STATIC ) -+ add_library( BamTools-static STATIC ${BamToolsAPISources} ) -+ set_target_properties( BamTools-static PROPERTIES -+ OUTPUT_NAME "bamtools" -+ PREFIX "lib" ) -+ target_link_libraries( BamTools-static ${APILibs} ) -+ install( TARGETS BamTools-static ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ) -+endif() - - # export API headers - include(../ExportHeader.cmake) ---- a/src/bamtools.pc.in -+++ b/src/bamtools.pc.in -@@ -0,0 +1,11 @@ -+prefix=@CMAKE_INSTALL_PREFIX@ -+exec_prefix=${prefix} -+libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ -+includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@ -+ -+Name: BamTools -+Description: BamTools is a C++ library for reading and manipulating BAM files -+Version: @BamTools_VERSION_MAJOR@.@BamTools_VERSION_MINOR@.@BamTools_VERSION_BUILD@ -+ -+Libs: -L${libdir} -lbamtools -+Cflags: -I${includedir} ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -14,3 +14,7 @@ - include( ExportHeader.cmake ) - set( SharedIncludeDir "shared" ) - ExportHeader( SharedHeaders shared/bamtools_global.h ${SharedIncludeDir} ) -+ -+# configure and install pkg-config file -+configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/bamtools.pc.in ${CMAKE_CURRENT_BINARY_DIR}/bamtools-1.pc @ONLY ) -+install( FILES ${CMAKE_CURRENT_BINARY_DIR}/bamtools-1.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig ) ---- a/src/ExportHeader.cmake -+++ b/src/ExportHeader.cmake -@@ -18,10 +18,10 @@ - add_custom_command( TARGET ${MODULE} COMMAND - ${CMAKE_COMMAND} -E copy_if_different - "${CMAKE_CURRENT_SOURCE_DIR}/${FILE}" -- "${CMAKE_SOURCE_DIR}/include/${DEST}/${FILENAME}" ) -+ "${CMAKE_CURRENT_BINARY_DIR}/include/${DEST}/${FILENAME}" ) - - # make sure files are properly 'installed' -- install( FILES "${FILE}" DESTINATION "include/bamtools/${DEST}" ) -+ install( FILES "${FILE}" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/bamtools/${DEST}" ) - - endfunction( ExportHeader ) - ---- a/src/third_party/CMakeLists.txt -+++ b/src/third_party/CMakeLists.txt -@@ -5,5 +5,3 @@ - # src/third-party/ - # ========================== - --# list third-party subdirectories to build in --add_subdirectory( jsoncpp ) ---- a/src/toolkit/CMakeLists.txt -+++ b/src/toolkit/CMakeLists.txt -@@ -35,10 +35,14 @@ - OUTPUT_NAME "bamtools" - ) - # make version info available in application --configure_file( bamtools_version.h.in ${BamTools_SOURCE_DIR}/src/toolkit/bamtools_version.h ) -+configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/bamtools_version.h.in ${CMAKE_CURRENT_BINARY_DIR}/bamtools_version.h ) -+include_directories( ${CMAKE_CURRENT_BINARY_DIR} ) -+ -+# set include paths for system JsonCpp -+target_include_directories( bamtools_cmd PRIVATE ${JSONCPP_INCLUDE_DIRS} ) - - # define libraries to link --target_link_libraries( bamtools_cmd BamTools BamTools-utils jsoncpp ) -+target_link_libraries( bamtools_cmd BamTools-utils ${BAMTOOLS_CMD_LDFLAGS} ${JSONCPP_LDFLAGS} ) - - # set application install destinations --install( TARGETS bamtools_cmd DESTINATION "bin") -+install( TARGETS bamtools_cmd DESTINATION "${CMAKE_INSTALL_BINDIR}" ) ---- a/src/utils/CMakeLists.txt -+++ b/src/utils/CMakeLists.txt -@@ -8,9 +8,8 @@ - # list include paths - include_directories( ${BamTools_SOURCE_DIR}/src/api ) - --# add compiler definitions -+# add compiler definitions - add_definitions( -DBAMTOOLS_UTILS_LIBRARY ) # (for proper exporting of library symbols) --add_definitions( -fPIC ) # (attempt to force PIC compiling on CentOS, not being set on shared libs by CMake) - - # create BamTools utils library - add_library( BamTools-utils STATIC |