From 2679bec6e09231c6fd59715fcba3eebc9e2f6076 Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Tue, 10 Jun 2025 15:06:40 +0200 Subject: [PATCH] ruby : add cleaning of library names in dependencies (#3241) * ruby : add cleaning of library names in dependencies This commit adds a cleaning step to the library names in the `Dependencies` class of the Ruby bindings. The motivation for this is that with the introduction of a library name alias for ggml in Commit (b933d17c306e800b6d919e3ee895219c3f64d5cd "Add in-build ggml::ggml ALIAS library (ggml/1260)) causes the Makefile generation to break: ```console $ sed -n '165,170p' ext/Makefile CLEANOBJS = $(OBJS) *.bak TARGET_SO_DIR_TIMESTAMP = $(TIMESTAMP_DIR)/.sitearchdir.time $(TARGET_SO): libcommon.a libwhisper.a libggml\n(ggml::ggml).a libggml-cpu.a libggml-base.a libcommon.a libwhisper.a libggml\n(ggml::ggml).a libggml-cpu.a libggml-base.a: cmake-targets cmake-targets: /usr/bin/cmake -S sources -B build -D BUILD_SHARED_LIBS=OFF -D CMAKE_ARCHIVE_OUTPUT_DIRECTORY=/home/danbev/work/ai/whisper.cpp/bindings/ruby/ext -D CMAKE_POSITION_INDEPENDENT_CODE=ON ``` * squash! ruby : add cleaning of library names in dependencies Apply PR review feedback. --- bindings/ruby/ext/dependencies.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/bindings/ruby/ext/dependencies.rb b/bindings/ruby/ext/dependencies.rb index 79e325c9..2ba4b94b 100644 --- a/bindings/ruby/ext/dependencies.rb +++ b/bindings/ruby/ext/dependencies.rb @@ -17,7 +17,11 @@ class Dependencies def libs tsort.filter_map {|node| label, shape = @nodes[node] - shape == @static_lib_shape ? label : nil + if shape == @static_lib_shape + label.gsub(/\\n\([^)]+\)/, '') + else + nil + end }.reverse.collect {|lib| "lib#{lib}.a"} end