unf_ext 0.0.8.2-x64-mingw32 → 0.0.9-x64-mingw32

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: 38f037687a442ffa804ddb7ff0b92aae1246c6776a21bb36062fdcd6fc1d4edb
4
- data.tar.gz: 4c6c321e9c15fb0ff8bdda51c12300bba16468c8872a3935a0c125ed33ae8042
3
+ metadata.gz: 4d0fdaf87679a1871bd98bb96526bc131bd03fe115b0a4777f8e404189c492ba
4
+ data.tar.gz: e7db7311d229591f34cc663ceef57dd21d370ddf30552e818ff24a62f9e26ddf
5
5
  SHA512:
6
- metadata.gz: c478590dfb086fa5113419692f29a3b5b4a935ab42f78407a7ebc45344268614eb340ecb00283e0573fb1938e15017493bcff952d50fe915788c32adc84ee96f
7
- data.tar.gz: 814dcc013d8cd4730a7567ad7389747ad26e251c45531d71f324aa766ebf6fccc970900bf0c187a996b2f1814cf63910d579c785b4e45a510d914eaf457536ef
6
+ metadata.gz: 78e233da4843702296c35bef4fe2e0221635e9f060b1e45f35fbece6e2bfe4f32377c4e513cc1b96fbe1d55221af6a03c72f8b5f30f027ef580a9cd516562c18
7
+ data.tar.gz: 47c55293d460c6d8b99e76cdc128a9bfdcb58772418f455d2e12ad4e8fbb674ba0147a4ac23e89edcb16c829e397135b0c2bd7de5b5f2b8a08eb3e49b0945528
@@ -11,28 +11,22 @@ jobs:
11
11
  strategy:
12
12
  fail-fast: false
13
13
  matrix:
14
- os: [ ubuntu-20.04, macos-11.0, windows-2019 ]
15
- ruby: [ 2.7, "3.0", 3.1, head ]
14
+ os: [ ubuntu-22.04, macos-12, windows-2022 ]
15
+ ruby: [ 2.7, "3.0", 3.1, 3.2, head ]
16
16
  include:
17
- - { os: windows-2019, ruby: mingw }
17
+ - { os: windows-2022, ruby: ucrt }
18
+ - { os: windows-2022, ruby: mswin }
18
19
  exclude:
19
- - { os: windows-2019, ruby: head }
20
+ - { os: windows-2022, ruby: head }
20
21
 
21
22
  steps:
22
23
  - name: repo checkout
23
- uses: actions/checkout@v2
24
+ uses: actions/checkout@v4
24
25
 
25
- - name: load ruby cross-compilation toolkit
26
- uses: MSP-Greg/setup-ruby-pkgs@v1
26
+ - uses: ruby/setup-ruby@v1
27
27
  with:
28
28
  ruby-version: ${{ matrix.ruby }}
29
- mingw: _upgrade_
30
-
31
- - name: bundle install
32
- shell: pwsh
33
- run: |
34
- bundle config set --local path .bundle/vendor
35
- bundle install --jobs 4 --retry 3
29
+ bundler-cache: true
36
30
 
37
31
  - name: compile
38
32
  timeout-minutes: 5
data/.gitignore CHANGED
@@ -1,7 +1,7 @@
1
1
  *.gem
2
2
  *.rbc
3
3
  *.so
4
- .bundle
4
+ *.bundle
5
5
  .config
6
6
  .yardoc
7
7
  Gemfile.lock
data/CHANGELOG.md CHANGED
@@ -1,3 +1,13 @@
1
+ # Changelog
2
+
3
+ ## [0.0.9](https://github.com/knu/ruby-unf_ext/tree/v0.0.9) (2023-11-11)
4
+
5
+ [Full Changelog](https://github.com/knu/ruby-unf_ext/compare/v0.0.8.2...v0.0.9)
6
+
7
+ - Use the newer TypedData extension API [\#72](https://github.com/knu/ruby-unf_ext/pull/72) ([casperisfine](https://github.com/casperisfine))
8
+ - Update Actions - updates OS's, add Ruby 3,2, etc [\#71](https://github.com/knu/ruby-unf_ext/pull/71) ([MSP-Greg](https://github.com/MSP-Greg))
9
+ - Add cross compilation for Ruby 3.2 [\#69](https://github.com/knu/ruby-unf_ext/pull/69) ([johnnyshields](https://github.com/johnnyshields))
10
+
1
11
  ## 0.0.8.2 (2022-05-26)
2
12
 
3
13
  - Add x64-mingw-ucrt native gem support for RubyInstaller 3.1.
@@ -6,6 +6,11 @@ else
6
6
  have_library('stdc++')
7
7
 
8
8
  case RbConfig::CONFIG['host_os']
9
+ when /mswin/
10
+ # Avoid `error C7555: use of designated initializers requires at least '/std:c++20'`
11
+ $CFLAGS << ' ' << '-std:c++20'
12
+ $CPPFLAGS << ' ' << '-std:c++20'
13
+ $CXXFLAGS << ' ' << '-std:c++20'
9
14
  when /solaris(!?2.11)/
10
15
  # Do a little trickery here to enable C++ standard on Solaris 11 if found.
11
16
  # This also forces 64bit compilation mode.
data/ext/unf_ext/unf.cc CHANGED
@@ -8,7 +8,7 @@
8
8
  extern "C" {
9
9
  VALUE unf_allocate(VALUE klass);
10
10
  VALUE unf_initialize(VALUE self);
11
- void unf_delete(UNF::Normalizer* ptr);
11
+ void unf_delete(void* ptr);
12
12
  VALUE unf_normalize(VALUE self, VALUE source, VALUE normalization_form);
13
13
 
14
14
  ID FORM_NFD;
@@ -30,10 +30,17 @@ extern "C" {
30
30
  FORM_NFKC= rb_intern("nfkc");
31
31
  }
32
32
 
33
+ static const rb_data_type_t unf_normalizer_data_type = {
34
+ .wrap_struct_name = "UNF::Normalizer",
35
+ .function = {
36
+ .dfree = unf_delete
37
+ },
38
+ .flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED
39
+ };
33
40
 
34
41
  VALUE unf_allocate(VALUE klass) {
35
42
  UNF::Normalizer* ptr;
36
- VALUE obj = Data_Make_Struct(klass, UNF::Normalizer, NULL, unf_delete, ptr);
43
+ VALUE obj = TypedData_Make_Struct(klass, UNF::Normalizer, &unf_normalizer_data_type, ptr);
37
44
  new ((void*)ptr) UNF::Normalizer;
38
45
  return obj;
39
46
  }
@@ -42,14 +49,15 @@ extern "C" {
42
49
  return self;
43
50
  }
44
51
 
45
- void unf_delete(UNF::Normalizer* ptr) {
52
+ void unf_delete(void *data) {
53
+ UNF::Normalizer* ptr = (UNF::Normalizer*)data;
46
54
  ptr->~Normalizer();
47
55
  ruby_xfree(ptr);
48
56
  }
49
57
 
50
58
  VALUE unf_normalize(VALUE self, VALUE source, VALUE normalization_form) {
51
59
  UNF::Normalizer* ptr;
52
- Data_Get_Struct(self, UNF::Normalizer, ptr);
60
+ TypedData_Get_Struct(self, UNF::Normalizer, &unf_normalizer_data_type, ptr);
53
61
 
54
62
  const char* src = StringValueCStr(source);
55
63
  const char* rlt;
data/lib/2.4/unf_ext.so CHANGED
Binary file
data/lib/2.5/unf_ext.so CHANGED
Binary file
data/lib/2.6/unf_ext.so CHANGED
Binary file
data/lib/2.7/unf_ext.so CHANGED
Binary file
data/lib/3.0/unf_ext.so CHANGED
Binary file
@@ -1,5 +1,5 @@
1
1
  module UNF
2
2
  class Normalizer
3
- VERSION = "0.0.8.2"
3
+ VERSION = "0.0.9"
4
4
  end
5
5
  end
data/unf_ext.gemspec CHANGED
@@ -29,6 +29,6 @@ Gem::Specification.new do |gem|
29
29
  gem.add_development_dependency("test-unit")
30
30
  gem.add_development_dependency("rdoc", ["> 2.4.2"])
31
31
  gem.add_development_dependency("bundler", [">= 1.2"])
32
- gem.add_development_dependency("rake-compiler", [">= 1.1.1"])
33
- gem.add_development_dependency("rake-compiler-dock", [">= 1.2.1"])
32
+ gem.add_development_dependency("rake-compiler", [">= 1.2.1"])
33
+ gem.add_development_dependency("rake-compiler-dock", [">= 1.3.0"])
34
34
  end
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: unf_ext
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8.2
4
+ version: 0.0.9
5
5
  platform: x64-mingw32
6
6
  authors:
7
7
  - Takeru Ohta
8
8
  - Akinori MUSHA
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2022-06-25 00:00:00.000000000 Z
12
+ date: 2023-11-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
@@ -73,28 +73,28 @@ dependencies:
73
73
  requirements:
74
74
  - - ">="
75
75
  - !ruby/object:Gem::Version
76
- version: 1.1.1
76
+ version: 1.2.1
77
77
  type: :development
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
81
  - - ">="
82
82
  - !ruby/object:Gem::Version
83
- version: 1.1.1
83
+ version: 1.2.1
84
84
  - !ruby/object:Gem::Dependency
85
85
  name: rake-compiler-dock
86
86
  requirement: !ruby/object:Gem::Requirement
87
87
  requirements:
88
88
  - - ">="
89
89
  - !ruby/object:Gem::Version
90
- version: 1.2.1
90
+ version: 1.3.0
91
91
  type: :development
92
92
  prerelease: false
93
93
  version_requirements: !ruby/object:Gem::Requirement
94
94
  requirements:
95
95
  - - ">="
96
96
  - !ruby/object:Gem::Version
97
- version: 1.2.1
97
+ version: 1.3.0
98
98
  description: Unicode Normalization Form support library for CRuby
99
99
  email:
100
100
  - knu@idaemons.org
@@ -135,7 +135,7 @@ homepage: https://github.com/knu/ruby-unf_ext
135
135
  licenses:
136
136
  - MIT
137
137
  metadata: {}
138
- post_install_message:
138
+ post_install_message:
139
139
  rdoc_options: []
140
140
  require_paths:
141
141
  - lib
@@ -153,8 +153,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
153
153
  - !ruby/object:Gem::Version
154
154
  version: '0'
155
155
  requirements: []
156
- rubygems_version: 3.3.4
157
- signing_key:
156
+ rubygems_version: 3.3.26
157
+ signing_key:
158
158
  specification_version: 4
159
159
  summary: Unicode Normalization Form support library for CRuby
160
160
  test_files: