summaryrefslogtreecommitdiff
path: root/debian/split-tk-out.rb
diff options
context:
space:
mode:
Diffstat (limited to 'debian/split-tk-out.rb')
-rw-r--r--debian/split-tk-out.rb29
1 files changed, 29 insertions, 0 deletions
diff --git a/debian/split-tk-out.rb b/debian/split-tk-out.rb
new file mode 100644
index 0000000..815e75f
--- /dev/null
+++ b/debian/split-tk-out.rb
@@ -0,0 +1,29 @@
+#!/usr/bin/ruby
+
+require 'fileutils'
+
+include FileUtils::Verbose
+
+src_package = "lib#{ENV.fetch('SOURCE')}"
+dst_package = "#{ENV.fetch('SOURCE')}-tcltk"
+
+ruby_api_version = ENV.fetch('RUBY_API_VERSION')
+
+# .so files
+tk_so_files = Dir.glob("debian/#{src_package}/usr/lib/*/ruby/**/{tcltklib,tkutil}.so")
+tk_so_files.each do |f|
+ dst = f.sub(/^debian\/#{src_package}/, "debian/#{dst_package}")
+ mkdir_p File.dirname(dst)
+ mv f, dst
+end
+
+# .rb files
+tk_lib_files = Dir.chdir('ext/tk/lib') { Dir.glob('*').select { |f| File.directory?(f) || f =~ /\.rb$/ } }
+
+mkdir_p "debian/#{dst_package}/usr/lib/ruby/#{ruby_api_version}"
+tk_lib_files.each do |f|
+ src = File.join("debian/#{src_package}/usr/lib/ruby/#{ruby_api_version}/#{f}")
+ dst = File.join("debian/#{dst_package}/usr/lib/ruby/#{ruby_api_version}/#{f}")
+ mv src, dst
+end
+