summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'games-util/dfhack/files/dfhack-0.43.05.1/0005-introduce-DFHACK_RUBY_DESTINATION.patch')
-rw-r--r--games-util/dfhack/files/dfhack-0.43.05.1/0005-introduce-DFHACK_RUBY_DESTINATION.patch88
1 files changed, 88 insertions, 0 deletions
diff --git a/games-util/dfhack/files/dfhack-0.43.05.1/0005-introduce-DFHACK_RUBY_DESTINATION.patch b/games-util/dfhack/files/dfhack-0.43.05.1/0005-introduce-DFHACK_RUBY_DESTINATION.patch
new file mode 100644
index 0000000..afea350
--- /dev/null
+++ b/games-util/dfhack/files/dfhack-0.43.05.1/0005-introduce-DFHACK_RUBY_DESTINATION.patch
@@ -0,0 +1,88 @@
+From ea45bd18f45150638152c16668546fdd4ecfe28a Mon Sep 17 00:00:00 2001
+From: eroen <eroen@occam.eroen.eu>
+Date: Mon, 29 May 2017 21:09:45 +0200
+Subject: [PATCH 5/5] introduce DFHACK_RUBY_DESTINATION
+
+---
+ CMakeLists.txt | 2 ++
+ plugins/ruby/CMakeLists.txt | 8 ++++++--
+ plugins/ruby/ruby.cpp | 2 +-
+ plugins/ruby/{ruby.rb => ruby.rb.in} | 6 +++---
+ 4 files changed, 12 insertions(+), 6 deletions(-)
+ rename plugins/ruby/{ruby.rb => ruby.rb.in} (97%)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 96a0808f..af96f986 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -165,6 +165,8 @@ SET(DFHACK_PLUGIN_DESTINATION hack/plugins CACHE INTERNAL "")
+ SET(DFHACK_INCLUDES_DESTINATION hack/include)
+ # dfhack lua files go here:
+ SET(DFHACK_LUA_DESTINATION hack/lua CACHE INTERNAL "")
++# dfhack ruby files go here:
++SET(DFHACK_RUBY_DESTINATION hack/ruby CACHE INTERNAL "")
+ # the windows .lib file goes here:
+ SET(DFHACK_DEVLIB_DESTINATION hack)
+
+diff --git a/plugins/ruby/CMakeLists.txt b/plugins/ruby/CMakeLists.txt
+index 8272b5dd..ac8820f2 100644
+--- a/plugins/ruby/CMakeLists.txt
++++ b/plugins/ruby/CMakeLists.txt
+@@ -77,7 +77,8 @@ INCLUDE_DIRECTORIES("${dfhack_SOURCE_DIR}/depends/tthread")
+ DFHACK_PLUGIN(ruby ruby.cpp LINK_LIBRARIES dfhack-tinythread)
+ ADD_DEPENDENCIES(ruby ruby-autogen-rb)
+ set_property( SOURCE "ruby.cpp" APPEND PROPERTY COMPILE_DEFINITIONS
+- "DFHACK_LIBRARY_DESTINATION=\"${DFHACK_LIBRARY_DESTINATION}\"" )
++ "DFHACK_LIBRARY_DESTINATION=\"${DFHACK_LIBRARY_DESTINATION}\""
++ "DFHACK_RUBY_DESTINATION=\"${DFHACK_RUBY_DESTINATION}\"")
+
+ IF(EXISTS ${RUBYLIB})
+ INSTALL(FILES ${RUBYLIB} DESTINATION ${DFHACK_LIBRARY_DESTINATION} RENAME ${RUBYLIB_INSTALL_NAME})
+@@ -88,8 +89,11 @@ ELSE()
+ ENDIF()
+ ENDIF()
+
++configure_file( ruby.rb.in ruby.rb @ONLY )
+ INSTALL(DIRECTORY .
+- DESTINATION hack/ruby
++ DESTINATION ${DFHACK_RUBY_DESTINATION}
+ FILES_MATCHING PATTERN "*.rb")
++INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/ruby.rb
++ DESTINATION ${DFHACK_RUBY_DESTINATION})
+
+ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${RUBYAUTOGEN} DESTINATION hack/ruby)
+diff --git a/plugins/ruby/ruby.cpp b/plugins/ruby/ruby.cpp
+index 6bdd74fa..069159dc 100644
+--- a/plugins/ruby/ruby.cpp
++++ b/plugins/ruby/ruby.cpp
+@@ -457,7 +457,7 @@ static void df_rubythread(void *p)
+
+ // load the default ruby-level definitions in the background
+ state=0;
+- rb_eval_string_protect("require './hack/ruby/ruby'", &state);
++ rb_eval_string_protect("require '" DFHACK_RUBY_DESTINATION "/ruby'", &state);
+ if (state)
+ dump_rb_error();
+
+diff --git a/plugins/ruby/ruby.rb b/plugins/ruby/ruby.rb.in
+similarity index 97%
+rename from plugins/ruby/ruby.rb
+rename to plugins/ruby/ruby.rb.in
+index c696c23e..62be24c5 100644
+--- a/plugins/ruby/ruby.rb
++++ b/plugins/ruby/ruby.rb.in
+@@ -251,8 +251,8 @@ def df
+ end
+
+ # load autogenned file
+-require './hack/ruby/ruby-autogen-defs'
+-require(RUBY_PLATFORM =~ /mswin|mingw|cygwin/i ? './hack/ruby/ruby-autogen-win' : './hack/ruby/ruby-autogen-gcc')
++require '@DFHACK_RUBY_DESTINATION@/ruby-autogen-defs'
++require(RUBY_PLATFORM =~ /mswin|mingw|cygwin/i ? '@DFHACK_RUBY_DESTINATION@/ruby-autogen-win' : '@DFHACK_RUBY_DESTINATION@/ruby-autogen-gcc')
+
+ # load all modules
+-Dir['./hack/ruby/*.rb'].each { |m| require m.chomp('.rb') if m !~ /ruby-autogen/ }
++Dir['@DFHACK_RUBY_DESTINATION@/*.rb'].each { |m| require m.chomp('.rb') if m !~ /ruby-autogen/ }
+--
+2.13.0
+