unf_ext 0.0.8.2 → 0.0.9.1

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: 90f115aa6fe51e241eadb744a905f549eb0ad5be438bed24d482a3abc50a5d4c
4
- data.tar.gz: 20e382cf698e1104c2a17e1f50d4dc72549a40caa6731cadd34a84cd49cedeb2
3
+ metadata.gz: ca0da49abf6f9cc205db7c8d5d29313f829e6e5349b0d57444cf7aaba903d9f2
4
+ data.tar.gz: f8c92941f22436873ca9abbdcc480a6425fb2fcfc5ae7e109e0ef7108353e2a1
5
5
  SHA512:
6
- metadata.gz: 7f413ae2d4c803e752779b2dd43252c6fa128399bea7e980edbacbb0bc2e3e105dbc79cf455b4e2594c41e2ee83c83d51124ab1f5d3ffece9751fd4c4bbf26f4
7
- data.tar.gz: d55f421d635810e7f3f28d925bc6d10e4435cf48f70c4d15b885509cac66417fa1a875366360e7ca5075c7386ec0a5a96aa0c6cc0bee80d872474f22461cb0cd
6
+ metadata.gz: 9d155feb11ceb6aefb213700c868fe01eb068e3e861045159d9658be15fe2c3564b9bf2fb86feb4adcb72b894d01e81f7838ff128ee90ab54d1039c06986afe8
7
+ data.tar.gz: 920bb51d229a865af8028db72fe8b47a5c24fc9387e0a13fc17f2e2a96ab6fc9aab391030b3b9945df9be5f7141f9e98b679fb11cd7d602dc83c4d58e5a51a18
@@ -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,19 @@
1
+ # Changelog
2
+
3
+ ## [0.0.9.1](https://github.com/knu/ruby-unf_ext/tree/v0.0.9.1) (2023-11-16)
4
+
5
+ [Full Changelog](https://github.com/knu/ruby-unf_ext/compare/v0.0.9...v0.0.9.1)
6
+
7
+ - Fix use of designated initializers. [\#75](https://github.com/knu/ruby-unf_ext/pull/75) ([igorpeshansky](https://github.com/igorpeshansky))
8
+
9
+ ## [0.0.9](https://github.com/knu/ruby-unf_ext/tree/v0.0.9) (2023-11-11)
10
+
11
+ [Full Changelog](https://github.com/knu/ruby-unf_ext/compare/v0.0.8.2...v0.0.9)
12
+
13
+ - Use the newer TypedData extension API [\#72](https://github.com/knu/ruby-unf_ext/pull/72) ([casperisfine](https://github.com/casperisfine))
14
+ - 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))
15
+ - Add cross compilation for Ruby 3.2 [\#69](https://github.com/knu/ruby-unf_ext/pull/69) ([johnnyshields](https://github.com/johnnyshields))
16
+
1
17
  ## 0.0.8.2 (2022-05-26)
2
18
 
3
19
  - 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,21 @@ 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
+ .dmark = NULL,
37
+ .dfree = unf_delete,
38
+ .dsize = NULL
39
+ },
40
+ .parent = NULL,
41
+ .data = NULL,
42
+ .flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED
43
+ };
33
44
 
34
45
  VALUE unf_allocate(VALUE klass) {
35
46
  UNF::Normalizer* ptr;
36
- VALUE obj = Data_Make_Struct(klass, UNF::Normalizer, NULL, unf_delete, ptr);
47
+ VALUE obj = TypedData_Make_Struct(klass, UNF::Normalizer, &unf_normalizer_data_type, ptr);
37
48
  new ((void*)ptr) UNF::Normalizer;
38
49
  return obj;
39
50
  }
@@ -42,14 +53,15 @@ extern "C" {
42
53
  return self;
43
54
  }
44
55
 
45
- void unf_delete(UNF::Normalizer* ptr) {
56
+ void unf_delete(void *data) {
57
+ UNF::Normalizer* ptr = (UNF::Normalizer*)data;
46
58
  ptr->~Normalizer();
47
59
  ruby_xfree(ptr);
48
60
  }
49
61
 
50
62
  VALUE unf_normalize(VALUE self, VALUE source, VALUE normalization_form) {
51
63
  UNF::Normalizer* ptr;
52
- Data_Get_Struct(self, UNF::Normalizer, ptr);
64
+ TypedData_Get_Struct(self, UNF::Normalizer, &unf_normalizer_data_type, ptr);
53
65
 
54
66
  const char* src = StringValueCStr(source);
55
67
  const char* rlt;
@@ -1,5 +1,5 @@
1
1
  module UNF
2
2
  class Normalizer
3
- VERSION = "0.0.8.2"
3
+ VERSION = "0.0.9.1"
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,7 +1,7 @@
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.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Takeru Ohta
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2022-05-26 00:00:00.000000000 Z
12
+ date: 2023-11-16 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
@@ -146,7 +146,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
146
146
  - !ruby/object:Gem::Version
147
147
  version: '0'
148
148
  requirements: []
149
- rubygems_version: 3.3.7
149
+ rubygems_version: 3.4.10
150
150
  signing_key:
151
151
  specification_version: 4
152
152
  summary: Unicode Normalization Form support library for CRuby