Report forwarded
to guix-patches@gnu.org: bug#30200; Package guix-patches.
(Sun, 21 Jan 2018 19:29:02 GMT) (full text, mbox, link).
Acknowledgement sent
to Fis Trivial <ybbs.daans@hotmail.com>:
New bug report received and forwarded. Copy sent to guix-patches@gnu.org.
(Sun, 21 Jan 2018 19:29:02 GMT) (full text, mbox, link).
Subject: [PATCH 0/2] gnu: Fix bundling in rtags, and change rct to do that.
Date: Sun, 21 Jan 2018 19:27:55 +0000
The bundling issue(1) in rtags is resolved with these patches.
Rct is changed to add missing headers from installation and to enable keeping
RTTI in compilation.
Due to the fact that the original recursive structure is basically hard coded,
patch to cmake file is added. And the substitution in source is to make the
headers from rct as system headers(headers in system path, not sure about the
phase), which is not necessary, just an attempt to make a cleaner break.
I also enabled keeping debug infomation while building rtags by telling cmake
explicitly.
I'm not sure about whether have I written the commit messages in the right way,
please help fixing them.
[1]: http://lists.gnu.org/archive/html/guix-patches/2018-01/msg00177.html
fis (2):
gnu: rct: Add missing headers, enable RTTI.
gnu: rtags: Fix the bundling issue.
gnu/packages/code.scm | 53 ++++++++-----
gnu/packages/cpp.scm | 6 +-
gnu/packages/patches/rct-add-missing-headers.patch | 43 ++++++++++
gnu/packages/patches/rtags-separate-rct.patch | 92 ++++++++++++++++++++++
4 files changed, 174 insertions(+), 20 deletions(-)
create mode 100644 gnu/packages/patches/rct-add-missing-headers.patch
create mode 100644 gnu/packages/patches/rtags-separate-rct.patch
--
2.13.6
Information forwarded
to guix-patches@gnu.org: bug#30200; Package guix-patches.
(Sun, 21 Jan 2018 19:32:01 GMT) (full text, mbox, link).
Fis Trivial <ybbs.daans@hotmail.com> skribis:
> * gnu/packages/patches/rct-add-missing-headers.patch: New file.
> * gnu/packages/cpp.scm (rct): Use the patch, enable RTTI.
> [source]: Use the patch to add missing headers from installation.
> [arguments]: Enable RTTI in configure-flags.
I added the patch to gnu/local.mk and committed.
It would be nice if you could report the issue with missing headers
upstream.
Ludo’.
Information forwarded
to guix-patches@gnu.org: bug#30200; Package guix-patches.
(Tue, 23 Jan 2018 09:44:02 GMT) (full text, mbox, link).
Fis Trivial <ybbs.daans@hotmail.com> skribis:
> * 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.
I slightly tweaked the commit message, but overall it was good. :-)
I applied the changes below, mostly to clarify the patch by removing
lines instead of commenting them out.
Thanks!
Ludo’.
diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm
index 5d2d176eb..a26768862 100644
--- a/gnu/packages/code.scm
+++ b/gnu/packages/code.scm
@@ -27,7 +27,6 @@
#:use-module (guix packages)
#:use-module (guix 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)
@@ -408,6 +407,7 @@ functionality such as HTML output.")
;; Part of spliting rct with rtags.
;; Substitute #include "rct/header.h" with #include <rct/header.h>.
'(with-directory-excursion "src"
+ (delete-file-recursively "rct") ;remove bundled copy
(let ((files (find-files "." ".*\\.cpp|.*\\.h")))
(substitute* files
(("#include ?\"rct/(.*.h)\"" all header)
diff --git a/gnu/packages/patches/rtags-separate-rct.patch b/gnu/packages/patches/rtags-separate-rct.patch
index b2e496d8c..533e28b02 100644
--- a/gnu/packages/patches/rtags-separate-rct.patch
+++ b/gnu/packages/patches/rtags-separate-rct.patch
@@ -1,92 +1,72 @@
-From: fis <ybbs.daans@hotmail.com>
-Date: Sat, 20 Jan 2018 08:55:00 +0800
-Subject: [PATCH] src/CMakelists.txt: Fix include and link rct.
+Unbundle RCT and use our own copy.
----
- 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)
+--- rtags-2.16/src/CMakeLists.txt 2018-01-23 10:36:17.645855140 +0100
++++ rtags-2.16/src/CMakeLists.txt 2018-01-23 10:38:14.605234740 +0100
+@@ -105,12 +105,6 @@ 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.
+-# 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(
+@@ -128,8 +122,7 @@ 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
+@@ -172,8 +165,7 @@ 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 ()
-
+@@ -195,10 +187,10 @@ 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 ()
+@@ -223,17 +215,17 @@ 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
-
Added tag(s) fixed.
Request was from ludo@gnu.org (Ludovic Courtès)
to control@debbugs.gnu.org.
(Wed, 31 Jan 2018 22:57:01 GMT) (full text, mbox, link).
bug closed, send any further explanations to
30200@debbugs.gnu.org and Fis Trivial <ybbs.daans@hotmail.com>
Request was from ludo@gnu.org (Ludovic Courtès)
to control@debbugs.gnu.org.
(Wed, 31 Jan 2018 22:57:02 GMT) (full text, mbox, link).
bug archived.
Request was from Debbugs Internal Request <help-debbugs@gnu.org>
to internal_control@debbugs.gnu.org.
(Thu, 01 Mar 2018 12:24:03 GMT) (full text, mbox, link).
Debbugs is free software and licensed under the terms of the
GNU Public License version 2. The current version can be
obtained from https://bugs.debian.org/debbugs-source/.