pico_phone 0.7.1-aarch64-linux → 0.8.1-aarch64-linux

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: f7cddf025314b1e258a6d8f441e0854bc694bb3bb4ad988fb75b38adcdf81083
4
- data.tar.gz: e73515cce93060df38eef0695fa01e7e72e44f00113db99b01e5c5571b0b03c4
3
+ metadata.gz: '097391caccc4bf0d6f05c77c4024a62bf324abd2dd8392f5bcb818a0116165e1'
4
+ data.tar.gz: 29167df5c5e5241dc6b579bc44c41811571990d801157b2e6f10328fa4f10358
5
5
  SHA512:
6
- metadata.gz: ca8fcef72469b9a5c11fa35cc40a5b3f8b39282fb833b14c99c0af0ecd953dd67cc21d4f5bb478ef12180c00df9c1264f8001a81f84c44b11c7f9f5e133a1886
7
- data.tar.gz: e54f5c2e0689e6ebe474bf8a0c4cfd1c1b473adc91a97b00c5bff4d2cd897836fa51a9f390f95aa4a01dc3fc0dcaea24fbec75d2b39a3dc066c3d7238ca56322
6
+ metadata.gz: 91ab9c276309e2207f7c330064fc1c113189e77034c8a88567e7e71799602bc8ae9f649165904ea91d46316ac79177ee759b369bc2c874c0f2cba413a741a850
7
+ data.tar.gz: 5bf4728d3461d67625a71cef1deb5c6c35303f8821960ecdad97263542ffcb323fdb5004dfe5d59d86637e6b041247b1b0ed9d738df21b048945c9d960ee63ec
@@ -235,9 +235,10 @@ Copyright © 2016-2025 Unicode, Inc.
235
235
  License: Unicode License v3
236
236
  ================================================================================
237
237
 
238
- Statically embedded on macOS and musl Linux (e.g. Alpine) builds;
239
- dynamically linked at runtime on glibc Linux (see
240
- ext/pico_phone/extconf.rb and build_deps.sh). ICU bundles
238
+ Statically embedded on every precompiled build (macOS and Linux; see
239
+ ext/pico_phone/extconf.rb and build_deps.sh). The Linux builds embed a
240
+ reduced subset of ICU's data (only what libphonenumber uses: character
241
+ properties, case folding, normalization, and country names). ICU bundles
241
242
  additional third-party notices covering optional components (word-break
242
243
  dictionaries for CJK/Lao/Burmese text segmentation, build tooling) that
243
244
  pico_phone does not use; the primary license covering the ICU library and
@@ -19,6 +19,8 @@ if NATIVE_BUILD
19
19
  $INCFLAGS << " -I#{VENDOR_INSTALL}/include"
20
20
 
21
21
  static_libs = []
22
+ # Linked normally (not force-loaded) after static_libs -- see the link line below.
23
+ icu_libs = []
22
24
  # geocoding depends on symbols from phonenumber, so it must precede it in
23
25
  # the static link order.
24
26
  static_libs << "#{VENDOR_INSTALL}/lib/libgeocoding.a"
@@ -50,20 +52,24 @@ if NATIVE_BUILD
50
52
  %w[libicui18n libicuuc libicudata].each do |lib|
51
53
  static_libs << "#{icu_prefix}/lib/#{lib}.a"
52
54
  end
53
- elsif RUBY_PLATFORM.include?("musl")
54
- # musl (e.g. Alpine): unlike glibc there's no de facto stable system ICU
55
- # package/ABI to assume is present at runtime, so build_deps.sh compiles a
56
- # static ICU into VENDOR_INSTALL alongside abseil/protobuf/libphonenumber.
57
- # Whole-archive it below along with those, rather than -l-linking dynamically.
58
- static_libs += %w[libicui18n libicuuc libicudata].map { |lib| "#{VENDOR_INSTALL}/lib/#{lib}.a" }
59
- $LOCAL_LIBS << " -lpthread -ldl"
60
55
  else
61
- # glibc Linux: libphonenumber was built with USE_BOOST=OFF so no Boost needed.
62
- # Ubuntu's libicu-dev static archives are not compiled with -fPIC and cannot
63
- # be linked into a shared object. Link ICU dynamically instead — libicu74 is
64
- # part of the Ubuntu 24.04 base system and is present in the target environment.
65
- # ICU headers (for the geocoder) come from the system libicu-dev package.
66
- $LOCAL_LIBS << " -licui18n -licuuc -licudata -lpthread -ldl"
56
+ # Linux (glibc and musl): libphonenumber was built with USE_BOOST=OFF so no
57
+ # Boost needed. build_deps.sh compiles a static, -fPIC, data-filtered ICU into
58
+ # VENDOR_INSTALL alongside abseil/protobuf/libphonenumber, and we link that
59
+ # instead of a system ICU: a dynamic link would tie the .so to one distro's ICU
60
+ # SONAME (libicu74 on Ubuntu 24.04, absent on Debian), and a distro's own
61
+ # static ICU archives generally aren't built -fPIC so can't go into a shared
62
+ # object either. ICU is kept out of the force-load group below: it has no
63
+ # circular references with the other archives, and force-loading all of it
64
+ # would embed every ICU object (~5MB) libphonenumber never calls.
65
+ icu_libs = %w[libicui18n libicuuc libicudata].map { |lib| "#{VENDOR_INSTALL}/lib/#{lib}.a" }
66
+ $LOCAL_LIBS << " -lpthread -ldl"
67
+ # musl: also embed libstdc++/libgcc. The official ruby:alpine images ship neither, so a
68
+ # dynamic link fails at require time ("Error loading shared library libstdc++.so.6") on a bare
69
+ # image, contradicting "nothing to install". Not done on glibc on purpose: there the static
70
+ # runtime pulls in newer versioned symbols (arc4random, _dl_find_object) and would raise the
71
+ # glibc requirement above the supported floor; glibc distros all ship libstdc++ anyway.
72
+ $LOCAL_LIBS << " -static-libstdc++ -static-libgcc" if RUBY_PLATFORM.include?("musl")
67
73
  end
68
74
 
69
75
  # Adding the geocoder introduces a circular reference among several small
@@ -77,7 +83,8 @@ if NATIVE_BUILD
77
83
  if RUBY_PLATFORM.include?("darwin")
78
84
  $LOCAL_LIBS << " -Wl,-all_load " + static_libs.join(" ")
79
85
  else
80
- $LOCAL_LIBS << " -Wl,--whole-archive " + static_libs.join(" ") + " -Wl,--no-whole-archive"
86
+ $LOCAL_LIBS << " -Wl,--whole-archive " + static_libs.join(" ") + " -Wl,--no-whole-archive " +
87
+ icu_libs.join(" ")
81
88
  end
82
89
 
83
90
  unless find_header("phonenumbers/phonenumberutil.h")
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PicoPhone
4
- VERSION = "0.7.1"
4
+ VERSION = "0.8.1"
5
5
  end
metadata CHANGED
@@ -1,13 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pico_phone
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.1
4
+ version: 0.8.1
5
5
  platform: aarch64-linux
6
6
  authors:
7
7
  - Gabi Jack
8
+ autorequire:
8
9
  bindir: exe
9
10
  cert_chain: []
10
- date: 1980-01-02 00:00:00.000000000 Z
11
+ date: 2026-09-27 00:00:00.000000000 Z
11
12
  dependencies:
12
13
  - !ruby/object:Gem::Dependency
13
14
  name: rice
@@ -107,6 +108,7 @@ metadata:
107
108
  documentation_uri: https://rubydoc.info/gems/pico_phone
108
109
  changelog_uri: https://github.com/gjack/pico_phone/releases
109
110
  bug_tracker_uri: https://github.com/gjack/pico_phone/issues
111
+ post_install_message:
110
112
  rdoc_options: []
111
113
  require_paths:
112
114
  - lib
@@ -121,7 +123,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
121
123
  - !ruby/object:Gem::Version
122
124
  version: '0'
123
125
  requirements: []
124
- rubygems_version: 4.0.16
126
+ rubygems_version: 3.5.22
127
+ signing_key:
125
128
  specification_version: 4
126
129
  summary: A thin Ruby wrapper around Google's libphonenumber for parsing, validating,
127
130
  and formatting phone numbers