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 +4 -4
- data/.github/workflows/unf_ext.yml +8 -14
- data/.gitignore +1 -1
- data/CHANGELOG.md +16 -0
- data/ext/unf_ext/extconf.rb +5 -0
- data/ext/unf_ext/unf.cc +16 -4
- data/lib/unf_ext/version.rb +1 -1
- data/unf_ext.gemspec +2 -2
- metadata +7 -7
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: ca0da49abf6f9cc205db7c8d5d29313f829e6e5349b0d57444cf7aaba903d9f2
         | 
| 4 | 
            +
              data.tar.gz: f8c92941f22436873ca9abbdcc480a6425fb2fcfc5ae7e109e0ef7108353e2a1
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 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- | 
| 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- | 
| 17 | 
            +
                      - { os: windows-2022, ruby: ucrt  }
         | 
| 18 | 
            +
                      - { os: windows-2022, ruby: mswin }
         | 
| 18 19 | 
             
                    exclude:
         | 
| 19 | 
            -
                      - { os: windows- | 
| 20 | 
            +
                      - { os: windows-2022, ruby: head }
         | 
| 20 21 |  | 
| 21 22 | 
             
                steps:
         | 
| 22 23 | 
             
                  - name: repo checkout
         | 
| 23 | 
            -
                    uses: actions/checkout@ | 
| 24 | 
            +
                    uses: actions/checkout@v4
         | 
| 24 25 |  | 
| 25 | 
            -
                  -  | 
| 26 | 
            -
                    uses: MSP-Greg/setup-ruby-pkgs@v1
         | 
| 26 | 
            +
                  - uses: ruby/setup-ruby@v1
         | 
| 27 27 | 
             
                    with:
         | 
| 28 28 | 
             
                      ruby-version: ${{ matrix.ruby }}
         | 
| 29 | 
            -
                       | 
| 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
    
    
    
        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.
         | 
    
        data/ext/unf_ext/extconf.rb
    CHANGED
    
    | @@ -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( | 
| 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 =  | 
| 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( | 
| 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 | 
            -
                 | 
| 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;
         | 
    
        data/lib/unf_ext/version.rb
    CHANGED
    
    
    
        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. | 
| 33 | 
            -
              gem.add_development_dependency("rake-compiler-dock", [">= 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. | 
| 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:  | 
| 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. | 
| 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. | 
| 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. | 
| 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. | 
| 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. | 
| 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
         |