Package: guix-patches;
Reported by: Fis Trivial <ybbs.daans <at> hotmail.com>
Date: Sun, 21 Jan 2018 19:29:02 UTC
Severity: normal
Tags: fixed, patch
Done: ludo <at> gnu.org (Ludovic Courtès)
Bug is archived. No further changes may be made.
Message #11 received at 30200 <at> debbugs.gnu.org (full text, mbox):
From: Fis Trivial <ybbs.daans <at> hotmail.com> To: "30200 <at> debbugs.gnu.org" <30200 <at> debbugs.gnu.org> Subject: [PATCH 2/2] gnu: rtags: Fix the bundling issue. Date: Sun, 21 Jan 2018 19:32:56 +0000
* gnu/packages/patches/rtags-separate-rct.patch: New file. * gnu/packages/code.scm (rtags): Dependencies no longer bundled. [source]: Use tar ball release. Use the patch to link rct. Substitute corresponding headers. [native-inputs]: Add new dependencies. [inputs]: Likewise. --- gnu/packages/code.scm | 53 +++++++++------ gnu/packages/patches/rtags-separate-rct.patch | 92 +++++++++++++++++++++++++++ 2 files changed, 127 insertions(+), 18 deletions(-) create mode 100644 gnu/packages/patches/rtags-separate-rct.patch diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm index 042ea73a8..5d2d176eb 100644 --- a/gnu/packages/code.scm +++ b/gnu/packages/code.scm @@ -26,12 +26,14 @@ (define-module (gnu packages code) #:use-module (guix packages) #:use-module (guix download) - #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix build utils) #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) + #:use-module (gnu packages) #:use-module (gnu packages base) #:use-module (gnu packages compression) + #:use-module (gnu packages cpp) #:use-module (gnu packages databases) #:use-module (gnu packages emacs) #:use-module (gnu packages gcc) @@ -43,6 +45,7 @@ #:use-module (gnu packages ncurses) #:use-module (gnu packages autotools) #:use-module (gnu packages llvm) + #:use-module (gnu packages lua) #:use-module (gnu packages bash)) ;;; Tools to deal with source code: metrics, cross-references, etc. @@ -393,28 +396,42 @@ functionality such as HTML output.") (name "rtags") (version "2.16") (home-page "https://github.com/Andersbakken/rtags") - (source (origin - (method git-fetch) - (uri (git-reference - (url home-page) - (commit "8ef7554852541eced514c56d5e39d6073f7a2ef9") - - ;; FIXME: This fetches bundled copies of Lua, RCT, and - ;; Selene. - (recursive? #t))) - (sha256 - (base32 - "12r7lsqdmcbs9864a6dpblvifqvmfxhvxippyhfnnm2ai5ra80nc")) - (file-name (git-file-name name version)))) + (source + (origin + (method url-fetch) + (uri + (string-append home-page "/archive/v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (patches (search-patches "rtags-separate-rct.patch")) + (modules '((guix build utils))) + (snippet + ;; Part of spliting rct with rtags. + ;; Substitute #include "rct/header.h" with #include <rct/header.h>. + '(with-directory-excursion "src" + (let ((files (find-files "." ".*\\.cpp|.*\\.h"))) + (substitute* files + (("#include ?\"rct/(.*.h)\"" all header) + (string-append "#include <rct/" header ">")))))) + (sha256 + (base32 + "17rkci3mmiw93qc32b9x76pg57b0lx80avr6wnmh190jx8n3v3wy")))) (build-system cmake-build-system) (arguments - '(#:configure-flags '("-DBUILD_TESTING=FALSE" - "-DRTAGS_NO_ELISP_FILES=1") + '(#:configure-flags + '("-DRTAGS_NO_ELISP_FILES=1" + "-DCMAKE_BUILD_TYPE=RelWithDebInfo" + "-DCMAKE_CXX_FLAGS=-std=c++11" + "-DBUILD_TESTING=FALSE") #:tests? #f)) + (native-inputs + `(("pkg-config" ,pkg-config))) (inputs - `(("clang" ,clang) + `(("bash-completion" ,bash-completion) + ("clang" ,clang) ("llvm" ,llvm) - ("bash-completion" ,bash-completion))) + ("lua" ,lua) + ("rct" ,rct) + ("selene" ,selene))) (synopsis "Indexer for the C language family with Emacs integration") (description "RTags is a client/server application that indexes C/C++ code and keeps a diff --git a/gnu/packages/patches/rtags-separate-rct.patch b/gnu/packages/patches/rtags-separate-rct.patch new file mode 100644 index 000000000..3e54a09fc --- /dev/null +++ b/gnu/packages/patches/rtags-separate-rct.patch @@ -0,0 +1,92 @@ +From: fis <ybbs.daans <at> hotmail.com> +Date: Sat, 20 Jan 2018 08:55:00 +0800 +Subject: [PATCH] src/CMakelists.txt: Fix include and link rct. + +--- + src/CMakeLists.txt | 31 +++++++++++++++++-------------- + 1 file changed, 17 insertions(+), 14 deletions(-) + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index ff4f11f0..e4838e0a 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -105,12 +105,13 @@ if (LUA_ENABLED) + CMAKE_ARGS -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=0 -DCMAKE_GENERATOR=${CMAKE_GENERATOR}) + endif () + +-set(RCT_RTTI_ENABLED 1) +-set(RCT_NO_INSTALL 1) +-set(RCT_NO_LIBRARY 1) ++# set(RCT_RTTI_ENABLED 1) ++# set(RCT_NO_INSTALL 1) ++# set(RCT_NO_LIBRARY 1) ++ + # Everyting which as been set either in rct/rct.cmake or rct/compiler.cmake + # doesn't need to be set in this file again. +-include(rct/rct.cmake) ++# include(rct/rct.cmake) + + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wstrict-aliasing=2 -Wcast-qual -fPIC") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wstrict-aliasing=2 -Wcast-qual -fPIC") +@@ -128,8 +129,8 @@ add_definitions( + "-DRTAGS_SOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR}" + "-DCLANG_LIBDIR=${LIBCLANG_LIBDIR}" + "-DCLANG_VERSION=${LIBCLANG_VERSION_STRING}" +- "-DOS_${CMAKE_SYSTEM_NAME}" +- ${RCT_DEFINITIONS}) ++ "-DOS_${CMAKE_SYSTEM_NAME}") ++ # ${RCT_DEFINITIONS}) + + if (CMAKE_SYSTEM_NAME MATCHES "FreeBSD") + add_definitions(-D__LONG_LONG_SUPPORTED) +@@ -172,8 +173,8 @@ set(RTAGS_SOURCES + Symbol.cpp + SymbolInfoJob.cpp + Token.cpp +- TokensJob.cpp +- ${RCT_SOURCES}) ++ TokensJob.cpp) ++ # ${RCT_SOURCES}) + + if (LUA_ENABLED) + list(APPEND RTAGS_SOURCES AST.cpp) +@@ -195,10 +196,11 @@ endif () + + include_directories( + ${CMAKE_CURRENT_LIST_DIR} +- ${RCT_INCLUDE_DIRS} ++ # ${RCT_INCLUDE_DIRS} + ${CMAKE_CURRENT_LIST_DIR}/selene/include + ${CMAKE_CURRENT_BINARY_DIR}/lua-prefix/src/lua-build +- ${CMAKE_CURRENT_LIST_DIR}/lua/src) ++ ${CMAKE_CURRENT_LIST_DIR}/lua/src ++ ${CMAKE_CURRENT_BINARY_DIR}/include) + + if (CMAKE_SYSTEM_NAME MATCHES "Darwin") + set(START_GROUP "") +@@ -223,17 +225,18 @@ else () + endif() + + # RCT_LIBRARIES and stdc++ library must be at the end +-set(RTAGS_LIBRARIES ${RTAGS_LIBRARIES} -lstdc++ ${RCT_LIBRARIES}) ++# set(RTAGS_LIBRARIES ${RTAGS_LIBRARIES} -lstdc++ ${RCT_LIBRARIES}) ++set(RTAGS_LIBRARIES ${RTAGS_LIBRARIES} -lstdc++) + add_executable(rc rc.cpp) +-target_link_libraries(rc ${RTAGS_LIBRARIES}) ++target_link_libraries(rc ${RTAGS_LIBRARIES} rct) + + add_executable(rdm rdm.cpp) +-target_link_libraries(rdm ${RTAGS_LIBRARIES}) ++target_link_libraries(rdm ${RTAGS_LIBRARIES} rct) + + set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin) + + add_executable(rp rp.cpp) +-target_link_libraries(rp ${RTAGS_LIBRARIES}) ++target_link_libraries(rp ${RTAGS_LIBRARIES} rct) + + if (CYGWIN) + EnsureLibraries(rdm rct) +-- +2.13.6 + -- 2.13.6
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.