mini_suffix 0.3.0 → 0.3.2
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 +5 -5
- data/.github/workflows/ci.yml +34 -0
- data/CHANGELOG.md +13 -0
- data/README.md +10 -2
- data/build-libpsl.sh +28 -0
- data/lib/mini_suffix.rb +4 -2
- data/lib/mini_suffix/version.rb +1 -1
- data/mini_suffix.gemspec +1 -1
- data/vendor/libpsl.darwin-arm64.dylib +0 -0
- data/vendor/libpsl.darwin-i386.dylib +0 -0
- data/vendor/libpsl.ppc64le.so +0 -0
- data/vendor/libpsl.x86_64.so +0 -0
- metadata +17 -15
- data/.travis.yml +0 -5
- data/vendor/libpsl.dylib +0 -0
- data/vendor/libpsl.so +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: da562466a7635ef4abe50e473d7314be39a80487aa3d77fbb39cee066b0a5d64
|
4
|
+
data.tar.gz: 963f965dbeb5b87c876a818f1e0d4fa6a53b66ec56f5a12ac4a7ae7e890aa302
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1938b29e11700f29a1f3ca7956d1fa9513ab48a0ebd91dcb6e037fbb772744485dc30702b50ec04eab953ad3832fac8eb5c2c4d378f2dede939d933fb12b4499
|
7
|
+
data.tar.gz: 0f442e1772a36e5932d6e942c8c0824da1a5b9b3c12e1c8c1ee2b488540f16452b42d7397959d5df7487f511ea62f02e2c6f489c9fa9ec53cdc364e67c83e0a8
|
@@ -0,0 +1,34 @@
|
|
1
|
+
name: Mini Suffix Tests
|
2
|
+
|
3
|
+
on:
|
4
|
+
pull_request:
|
5
|
+
push:
|
6
|
+
branches:
|
7
|
+
- master
|
8
|
+
|
9
|
+
jobs:
|
10
|
+
build:
|
11
|
+
runs-on: ubuntu-latest
|
12
|
+
name: Ruby ${{ matrix.ruby }}
|
13
|
+
strategy:
|
14
|
+
fail-fast: false
|
15
|
+
matrix:
|
16
|
+
ruby: ["2.7", "2.6", "2.5"]
|
17
|
+
steps:
|
18
|
+
- uses: actions/checkout@v2
|
19
|
+
- uses: ruby/setup-ruby@v1
|
20
|
+
with:
|
21
|
+
ruby-version: ${{ matrix.ruby }}
|
22
|
+
- name: Bundler cache
|
23
|
+
uses: actions/cache@v2
|
24
|
+
with:
|
25
|
+
path: vendor/bundle
|
26
|
+
key: ${{ runner.os }}-${{ matrix.ruby }}-gems-${{ hashFiles('**/Gemfile.lock') }}
|
27
|
+
restore-keys: |
|
28
|
+
${{ runner.os }}-${{ matrix.ruby }}-gems-
|
29
|
+
- name: Setup gems
|
30
|
+
run: |
|
31
|
+
bundle config path vendor/bundle
|
32
|
+
bundle install --jobs 4
|
33
|
+
- name: Tests
|
34
|
+
run: bundle exec rspec
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,16 @@
|
|
1
|
+
# 0.3.2
|
2
|
+
|
3
|
+
* Bump libpsl to v0.21.1, and bump binaries
|
4
|
+
* Add binary for Apple silicon devices
|
5
|
+
|
6
|
+
*davidtaylorhq*
|
7
|
+
|
8
|
+
# 0.3.1
|
9
|
+
|
10
|
+
* Add libpsl shared libary for Linux ppc64le
|
11
|
+
|
12
|
+
*runlevel5*
|
13
|
+
|
1
14
|
# 0.3.0
|
2
15
|
|
3
16
|
* Add libpsl shared library for osx support.
|
data/README.md
CHANGED
@@ -3,7 +3,6 @@
|
|
3
3
|
## Installation
|
4
4
|
|
5
5
|
### Debian
|
6
|
-
`sudo apt-get install libpsl-dev`
|
7
6
|
|
8
7
|
Add this line to your application's Gemfile:
|
9
8
|
|
@@ -31,7 +30,7 @@ MiniSuffix.domain("www.careers.gov.sg")
|
|
31
30
|
# => "careers.gov.sg"
|
32
31
|
```
|
33
32
|
|
34
|
-
##Benchmark
|
33
|
+
## Benchmark
|
35
34
|
|
36
35
|
```
|
37
36
|
# benchmark/bench.rb
|
@@ -59,6 +58,15 @@ After checking out the repo, run `bin/setup` to install dependencies. Then, run
|
|
59
58
|
|
60
59
|
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
61
60
|
|
61
|
+
## Updating libpsl
|
62
|
+
|
63
|
+
Libpsl binaries are bundled with the gem. The current version is checked out as a submodule in `./libpsl/`. To update, checkout a later commit
|
64
|
+
in the submodule (ideally matching an upstream release tag). You will then need to rebuild the binaries for all architectures. This requires running `./build-libpsl.sh` in each environment. Depending on your setup, you may be able to accomplish that via virtual machines and/or Docker.
|
65
|
+
|
66
|
+
Check the comments in `./build-libpsl.sh` for more information.
|
67
|
+
|
68
|
+
The submodule bump and updated binaries should be checked in to the repository.
|
69
|
+
|
62
70
|
## Contributing
|
63
71
|
|
64
72
|
Bug reports and pull requests are welcome on GitHub at https://github.com/discourse/mini_suffix.
|
data/build-libpsl.sh
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
#! /bin/bash
|
2
|
+
|
3
|
+
set -e
|
4
|
+
export DEBIAN_FRONTEND=noninteractive
|
5
|
+
cd $(dirname ${BASH_SOURCE[0]})/libpsl
|
6
|
+
|
7
|
+
# A rough script to build libpsl from source, and move the binary to the /vendor directory.
|
8
|
+
#
|
9
|
+
# On linux, you will need a number of dependencies:
|
10
|
+
# apt-get update
|
11
|
+
# apt-get install -y meson gcc clang libtool llvm-dev valgrind python3 python3-setuptools libicu-dev
|
12
|
+
#
|
13
|
+
# On macOS, run this script in the homebrew build environment using `brew sh -c ./build-libpsl.sh`
|
14
|
+
#
|
15
|
+
# If you're running this, make sure to update the binaries for all other architectures as well
|
16
|
+
|
17
|
+
rm -rf builddir
|
18
|
+
meson builddir --buildtype=release -Druntime=no -Dbuiltin=libicu
|
19
|
+
ninja -C builddir
|
20
|
+
ninja -C builddir test
|
21
|
+
|
22
|
+
if [[ "$OSTYPE" == "darwin"* ]]; then
|
23
|
+
cp builddir/src/libpsl.dylib ../vendor/libpsl.darwin-$(arch).dylib
|
24
|
+
else
|
25
|
+
cp builddir/src/libpsl.so ../vendor/libpsl.$(arch).so
|
26
|
+
fi
|
27
|
+
|
28
|
+
echo "Done $(arch)"
|
data/lib/mini_suffix.rb
CHANGED
@@ -5,8 +5,10 @@ module MiniSuffix
|
|
5
5
|
extend FFI::Library
|
6
6
|
|
7
7
|
ffi_lib [
|
8
|
-
File.join(File.dirname(File.expand_path('..', __FILE__)), 'vendor/libpsl.so'),
|
9
|
-
File.join(File.dirname(File.expand_path('..', __FILE__)), 'vendor/libpsl.
|
8
|
+
File.join(File.dirname(File.expand_path('..', __FILE__)), 'vendor/libpsl.x86_64.so'),
|
9
|
+
File.join(File.dirname(File.expand_path('..', __FILE__)), 'vendor/libpsl.ppc64le.so'),
|
10
|
+
File.join(File.dirname(File.expand_path('..', __FILE__)), 'vendor/libpsl.darwin-i386.dylib'),
|
11
|
+
File.join(File.dirname(File.expand_path('..', __FILE__)), 'vendor/libpsl.darwin-arm64.dylib'),
|
10
12
|
]
|
11
13
|
|
12
14
|
attach_function :psl_builtin, [], :pointer
|
data/lib/mini_suffix/version.rb
CHANGED
data/mini_suffix.gemspec
CHANGED
@@ -23,7 +23,7 @@ Gem::Specification.new do |spec|
|
|
23
23
|
|
24
24
|
spec.add_dependency 'ffi', '~> 1.9'
|
25
25
|
|
26
|
-
spec.add_development_dependency "bundler"
|
26
|
+
spec.add_development_dependency "bundler"
|
27
27
|
spec.add_development_dependency "rake", "~> 10.0"
|
28
28
|
spec.add_development_dependency "rspec", "~> 3.0"
|
29
29
|
end
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mini_suffix
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Guo Xiang Tan
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-01-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ffi
|
@@ -28,16 +28,16 @@ dependencies:
|
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rake
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -66,17 +66,17 @@ dependencies:
|
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '3.0'
|
69
|
-
description:
|
69
|
+
description:
|
70
70
|
email:
|
71
71
|
- tgx@discourse.org
|
72
72
|
executables: []
|
73
73
|
extensions: []
|
74
74
|
extra_rdoc_files: []
|
75
75
|
files:
|
76
|
+
- ".github/workflows/ci.yml"
|
76
77
|
- ".gitignore"
|
77
78
|
- ".gitmodules"
|
78
79
|
- ".rspec"
|
79
|
-
- ".travis.yml"
|
80
80
|
- CHANGELOG.md
|
81
81
|
- Gemfile
|
82
82
|
- LICENSE.txt
|
@@ -85,16 +85,19 @@ files:
|
|
85
85
|
- benchmark/bench.rb
|
86
86
|
- bin/console
|
87
87
|
- bin/setup
|
88
|
+
- build-libpsl.sh
|
88
89
|
- lib/mini_suffix.rb
|
89
90
|
- lib/mini_suffix/version.rb
|
90
91
|
- mini_suffix.gemspec
|
91
|
-
- vendor/libpsl.dylib
|
92
|
-
- vendor/libpsl.
|
92
|
+
- vendor/libpsl.darwin-arm64.dylib
|
93
|
+
- vendor/libpsl.darwin-i386.dylib
|
94
|
+
- vendor/libpsl.ppc64le.so
|
95
|
+
- vendor/libpsl.x86_64.so
|
93
96
|
homepage: https://github.com/discourse/mini_suffix
|
94
97
|
licenses:
|
95
98
|
- MIT
|
96
99
|
metadata: {}
|
97
|
-
post_install_message:
|
100
|
+
post_install_message:
|
98
101
|
rdoc_options: []
|
99
102
|
require_paths:
|
100
103
|
- lib
|
@@ -109,9 +112,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
109
112
|
- !ruby/object:Gem::Version
|
110
113
|
version: '0'
|
111
114
|
requirements: []
|
112
|
-
|
113
|
-
|
114
|
-
signing_key:
|
115
|
+
rubygems_version: 3.1.4
|
116
|
+
signing_key:
|
115
117
|
specification_version: 4
|
116
118
|
summary: FFI wrapper for libpsl
|
117
119
|
test_files: []
|
data/.travis.yml
DELETED
data/vendor/libpsl.dylib
DELETED
Binary file
|
data/vendor/libpsl.so
DELETED
Binary file
|