mkxp-sunshine/libraries.rb
2026-08-14 17:19:57 +04:00

59 lines
1.2 KiB
Ruby
Executable file

#!/usr/bin/ruby
#encoding: utf-8
puts "copying libraries..."
require 'fileutils'
# These libraries MUST NOT be packaged with OneShot
# or otherwise they will cause cross-distro
# incompatibilities.
BLACKLIST = [
# These packaged on Manjaro cause issues on openSUSE.
'libc.so.6',
'libpthread.so.0',
'libdl.so.2',
'libm.so.6',
# we dont need Windows dlls
"ntdll.dll",
"KERNEL32.DLL",
"KERNELBASE.dll",
"ADVAPI32.dll",
"msvcrt.dll",
"sechost.dll",
"RPCRT4.dll",
"ucrtbase.dll",
"SHLWAPI.dll",
"USER32.dll",
"win32u.dll",
"GDI32.dll",
"gdi32full.dll",
"WINMM.dll",
"DWrite.dll",
"VERSION.dll",
"Secur32.dll",
"IMM32.DLL",
"IPHLPAPI.DLL",
"ole32.dll",
"OLEAUT32.dll",
"SETUPAPI.dll",
"SHELL32.DLL",
"SSPICLI.DLL",
"USP10.DLL",
"WS2_32.dll",
"bcrypt.dll",
"combase.dll",
"imagehlp.dll",
"msvcp_win.dll"
]
files = []
while line = gets
if line =~ / => (\/.*) \(/
path = $1
filename = File.basename(path)
next if BLACKLIST.any? { |library| filename.casecmp?(library) }
path = `cygpath -w "#{path}"`.strip if ENV['MSYSTEM'] && path.start_with?("/")
files << path
end
end
FileUtils.cp(files, 'libs')
puts "copying libraries done."