Files
horizon-packages/srcpkgs/notmuch/patches/0008-fix-cross-for-ruby-bindings.patch
T
2026-07-21 06:54:54 +07:00

36 lines
1.6 KiB
Diff

diff --git a/bindings/ruby/extconf.rb b/bindings/ruby/extconf.rb
index ba97670f..07d9fa56 100644
--- a/bindings/ruby/extconf.rb
+++ b/bindings/ruby/extconf.rb
@@ -12,8 +12,30 @@ if not ENV['LIBNOTMUCH']
exit 1
end
+# Use cross-compiler toolchain
+if ENV['_TARGET_PLATFORM']
+ RbConfig::MAKEFILE_CONFIG['CC'] = ENV['CC'] if ENV['CC']
+ RbConfig::MAKEFILE_CONFIG['CXX'] = ENV['CXX'] if ENV['CXX']
+ RbConfig::MAKEFILE_CONFIG['LD'] = ENV['LD'] if ENV['LD']
+ RbConfig::MAKEFILE_CONFIG['AR'] = ENV['AR'] if ENV['AR']
+ RbConfig::MAKEFILE_CONFIG['CFLAGS'] = ENV['CFLAGS'] if ENV['CFLAGS']
+ RbConfig::MAKEFILE_CONFIG['LDFLAGS'] = ENV['LDFLAGS'] if ENV['LDFLAGS']
+end
+
$LOCAL_LIBS = ENV['LIBNOTMUCH']
# Create Makefile
dir_config('notmuch')
create_makefile('notmuch')
+
+# Fix makefile definitions for cross compile
+if ENV['_TARGET_PLATFORM']
+ system("sed -i 's|^V =.*|V = 1|' Makefile")
+ system("sed -i 's|^CFLAGS.*|CFLAGS = \$(CCDLFLAGS) #{ENV['VOID_TARGET_CFLAGS']} \$(ARCH_FLAG)|' Makefile")
+ system("sed -i 's|^topdir.*|topdir = #{ENV['XBPS_CROSS_BASE']}/usr/include/ruby-\$(ruby_version)|' Makefile")
+ system("sed -i 's|^hdrdir.*|hdrdir = #{ENV['XBPS_CROSS_BASE']}/usr/include/ruby-\$(ruby_version)|' Makefile")
+ system("sed -i 's|^arch_hdrdir.*|arch_hdrdir = #{ENV['XBPS_CROSS_BASE']}/usr/include/ruby-\$(ruby_version)/\$(arch)|' Makefile")
+ system("sed -i 's|^arch =.*|arch = #{ENV['_TARGET_PLATFORM']}|' Makefile")
+ system("sed -i 's|^dldflags =.*|dldflags = $(LDFLAGS)|' Makefile")
+ system("sed -i 's|^libdir =.*|libdir = $(exec_prefix)/lib#{ENV['XBPS_TARGET_WORDSIZE']}|' Makefile")
+end