rubygems-requirements-system 0.1.3 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a5df5e519aeace78d1dd3458027a2ac8f035b01b603a1e802c24d95397b59a09
4
- data.tar.gz: 4abb564599ef2b88a7a4de12650abfd440f7151b314f8613de9159fc64d8d297
3
+ metadata.gz: b9ae4c0c03cef9d3553020e858e0f3a124e4bff919111568563795765568bb1c
4
+ data.tar.gz: 30c19cb58a56b30c2ce09c4020678f526093bcb7636b641476a1b4b72a4af870
5
5
  SHA512:
6
- metadata.gz: fa69897a8464203ea3171e68d34ab2bda417262941e53d7fdf4110f04196041fb92f6bcb313f944e9b6adc0af72807255da8576cf59e4c53d74d49654fc4b600
7
- data.tar.gz: 9e589167215ee1d51f773fa4130e11b59624d76a643b4e87a3f380524004cd1092f9b4d0c2dabe390e76bb57d1f97146f16efb3ce84b4e90e7faa77eea31d9a5
6
+ metadata.gz: 8d227279c190f067f1cdf6aea23e708a822eb38a8b16c9f9627aea16c13052070d05b9719cf99800415dd5b01e97e2474333f01fd660f937ab25385214347f8f
7
+ data.tar.gz: 30ddb08431f3b6c995d45a24e31a157b9340631c61e220bd9ecc2090145d89d8824dc8d9a5671bf33ef224480b380bd8d098847e8014f513ba5697c63dcfe998
data/doc/text/news.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # News
2
2
 
3
+ ## 0.1.5 - 2025-12-01
4
+
5
+ ### Improvements
6
+
7
+ * Updated bundled `pkg-config` gem to 1.6.5.
8
+
9
+ ## 0.1.4 - 2025-11-26
10
+
11
+ ### Improvements
12
+
13
+ * Added support for Ruby installed by MSYS2. Note that this is not
14
+ for Ruby installed by RubyInstaller. Ruby installed by
15
+ RubyInstaller must use `msys2_mingw_dependencies` gemspec metadata
16
+ instead of this.
17
+ * GH-16
18
+ * Patch by takuya kodama
19
+
20
+ ### Thanks
21
+
22
+ * takuya kodama
23
+
3
24
  ## 0.1.3 - 2025-09-03
4
25
 
5
26
  ### Improvements
@@ -19,7 +19,7 @@ require "rbconfig"
19
19
  require "shellwords"
20
20
 
21
21
  module PKGConfig
22
- VERSION = "1.6.4"
22
+ VERSION = "1.6.5"
23
23
 
24
24
  @@paths = []
25
25
  @@override_variables = {}
@@ -545,6 +545,7 @@ class PackageConfig
545
545
  flag.gsub(/\A-I/, "/I")
546
546
  end
547
547
  end
548
+ other_flags = merge_back_cflags(other_flags)
548
549
  [path_flags, other_flags]
549
550
  end
550
551
 
@@ -579,6 +580,32 @@ class PackageConfig
579
580
  normalized_cflags
580
581
  end
581
582
 
583
+ # Implementing behavior compatible with pkgconf's pkgconf_fragment_copy().
584
+ # This is not a complete reproduction yet, but the goal is to stay compatible.
585
+ # https://github.com/pkgconf/pkgconf/blob/pkgconf-2.5.1/libpkgconf/fragment.c#L381-L416
586
+ def merge_back_cflags(cflags)
587
+ merge_backed_cflags = []
588
+ cflags.each do |cflag|
589
+ if mergeable_flag?(cflag)
590
+ # NOTE: This may be slow because this checks merge_back_cflags N times
591
+ # (where N is the number of mergeable flags).
592
+ merge_backed_cflags.delete(cflag)
593
+ end
594
+ merge_backed_cflags << cflag
595
+ end
596
+ merge_backed_cflags
597
+ end
598
+
599
+ def mergeable_flag?(flag)
600
+ return false unless flag.start_with?("-")
601
+ return true if flag.start_with?("-D")
602
+ if flag.start_with?("-W")
603
+ return false if flag.start_with?("-Wa,", "-Wl,", "-Wp,")
604
+ return true
605
+ end
606
+ false
607
+ end
608
+
582
609
  def collect_libs
583
610
  target_packages = [*required_packages, self]
584
611
  libs_set = []
@@ -0,0 +1,54 @@
1
+ # Copyright (C) 2025 Ruby-GNOME Project Team
2
+ #
3
+ # This program is free software: you can redistribute it and/or modify
4
+ # it under the terms of the GNU Lesser General Public License as published by
5
+ # the Free Software Foundation, either version 3 of the License, or
6
+ # (at your option) any later version.
7
+ #
8
+ # This program is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
+ # GNU Lesser General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU Lesser General Public License
14
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
15
+
16
+ require_relative "base"
17
+
18
+ module RubyGemsRequirementsSystem
19
+ module Platform
20
+ class MSYS2 < Base
21
+ Platform.register(self)
22
+
23
+ class << self
24
+ def current_platform?
25
+ return false if Object.const_defined?(:RubyInstaller)
26
+ return false if package_prefix.nil?
27
+ ExecutableFinder.exist?("pacman")
28
+ end
29
+
30
+ def package_prefix
31
+ ENV["MINGW_PACKAGE_PREFIX"]
32
+ end
33
+ end
34
+
35
+ def target?(platform)
36
+ platform == "msys2"
37
+ end
38
+
39
+ private
40
+ def install_command_line(package)
41
+ [
42
+ "pacman",
43
+ "-S",
44
+ "--noconfirm",
45
+ "#{self.class.package_prefix}-#{package}"
46
+ ]
47
+ end
48
+
49
+ def need_super_user_priviledge?
50
+ false
51
+ end
52
+ end
53
+ end
54
+ end
@@ -62,6 +62,10 @@ require_relative "platform/suse"
62
62
  require_relative "platform/alpine-linux"
63
63
 
64
64
 
65
+ # Windows
66
+ require_relative "platform/msys2"
67
+
68
+
65
69
  # Platform independent
66
70
  require_relative "platform/homebrew"
67
71
  require_relative "platform/conda"
@@ -14,5 +14,5 @@
14
14
  # along with this program. If not, see <http://www.gnu.org/licenses/>.
15
15
 
16
16
  module RubyGemsRequirementsSystem
17
- VERSION = "0.1.3"
17
+ VERSION = "0.1.5"
18
18
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubygems-requirements-system
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sutou Kouhei
@@ -48,6 +48,7 @@ files:
48
48
  - lib/rubygems-requirements-system/platform/gentoo-linux.rb
49
49
  - lib/rubygems-requirements-system/platform/homebrew.rb
50
50
  - lib/rubygems-requirements-system/platform/macports.rb
51
+ - lib/rubygems-requirements-system/platform/msys2.rb
51
52
  - lib/rubygems-requirements-system/platform/pld-linux.rb
52
53
  - lib/rubygems-requirements-system/platform/red-hat-enterprise-linux.rb
53
54
  - lib/rubygems-requirements-system/platform/suse.rb