react-native 0.71.13 → 0.71.15

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.
@@ -12,6 +12,6 @@
12
12
  exports.version = {
13
13
  major: 0,
14
14
  minor: 71,
15
- patch: 13,
15
+ patch: 15,
16
16
  prerelease: null,
17
17
  };
@@ -23,7 +23,7 @@ NSDictionary* RCTGetReactNativeVersion(void)
23
23
  __rnVersion = @{
24
24
  RCTVersionMajor: @(0),
25
25
  RCTVersionMinor: @(71),
26
- RCTVersionPatch: @(13),
26
+ RCTVersionPatch: @(15),
27
27
  RCTVersionPrerelease: [NSNull null],
28
28
  };
29
29
  });
@@ -241,7 +241,7 @@ task createNativeDepsDirectories {
241
241
  }
242
242
 
243
243
  task downloadBoost(dependsOn: createNativeDepsDirectories, type: Download) {
244
- src("https://boostorg.jfrog.io/artifactory/main/release/${BOOST_VERSION.replace("_", ".")}/source/boost_${BOOST_VERSION}.tar.gz")
244
+ src("https://archives.boost.io/release/${BOOST_VERSION.replace("_", ".")}/source/boost_${BOOST_VERSION}.tar.gz")
245
245
  onlyIfNewer(true)
246
246
  overwrite(false)
247
247
  dest(new File(downloadsDir, "boost_${BOOST_VERSION}.tar.gz"))
@@ -1,4 +1,4 @@
1
- VERSION_NAME=0.71.13
1
+ VERSION_NAME=0.71.15
2
2
  GROUP=com.facebook.react
3
3
 
4
4
  # JVM Versions
@@ -12,9 +12,7 @@ import static com.facebook.react.uimanager.common.UIManagerType.DEFAULT;
12
12
  import static com.facebook.react.uimanager.common.UIManagerType.FABRIC;
13
13
  import static com.facebook.systrace.Systrace.TRACE_TAG_REACT_JAVA_BRIDGE;
14
14
 
15
- import android.app.Activity;
16
15
  import android.content.Context;
17
- import android.content.ContextWrapper;
18
16
  import android.graphics.Canvas;
19
17
  import android.graphics.Insets;
20
18
  import android.graphics.Point;
@@ -917,12 +915,18 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
917
915
  checkForDeviceDimensionsChanges();
918
916
  }
919
917
 
920
- private Activity getActivity() {
921
- Context context = getContext();
922
- while (!(context instanceof Activity) && context instanceof ContextWrapper) {
923
- context = ((ContextWrapper) context).getBaseContext();
918
+ private @Nullable WindowManager.LayoutParams getWindowLayoutParams() {
919
+ View view = ReactRootView.this;
920
+ if (view.getLayoutParams() instanceof WindowManager.LayoutParams) {
921
+ return (WindowManager.LayoutParams) view.getLayoutParams();
924
922
  }
925
- return (Activity) context;
923
+ while (view.getParent() instanceof View) {
924
+ view = (View) view.getParent();
925
+ if (view.getLayoutParams() instanceof WindowManager.LayoutParams) {
926
+ return (WindowManager.LayoutParams) view.getLayoutParams();
927
+ }
928
+ }
929
+ return null;
926
930
  }
927
931
 
928
932
  @RequiresApi(api = Build.VERSION_CODES.R)
@@ -942,7 +946,13 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
942
946
  Insets barInsets = rootInsets.getInsets(WindowInsets.Type.systemBars());
943
947
  int height = imeInsets.bottom - barInsets.bottom;
944
948
 
945
- int softInputMode = getActivity().getWindow().getAttributes().softInputMode;
949
+ int softInputMode;
950
+ WindowManager.LayoutParams windowLayoutParams = getWindowLayoutParams();
951
+ if (windowLayoutParams != null) {
952
+ softInputMode = windowLayoutParams.softInputMode;
953
+ } else {
954
+ return;
955
+ }
946
956
  int screenY =
947
957
  softInputMode == WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING
948
958
  ? mVisibleViewArea.bottom - height
@@ -17,6 +17,6 @@ public class ReactNativeVersion {
17
17
  public static final Map<String, Object> VERSION = MapBuilder.<String, Object>of(
18
18
  "major", 0,
19
19
  "minor", 71,
20
- "patch", 13,
20
+ "patch", 15,
21
21
  "prerelease", null);
22
22
  }
@@ -204,6 +204,11 @@ import java.util.Map;
204
204
  mDefaultValue = defaultValue;
205
205
  }
206
206
 
207
+ public ColorPropSetter(ReactPropGroup prop, Method setter, int index, int defaultValue) {
208
+ super(prop, "mixed", setter, index);
209
+ mDefaultValue = defaultValue;
210
+ }
211
+
207
212
  @Override
208
213
  protected Object getValueOrDefault(Object value, Context context) {
209
214
  if (value == null) {
@@ -331,6 +336,10 @@ import java.util.Map;
331
336
  super(prop, "mixed", setter);
332
337
  }
333
338
 
339
+ public BoxedColorPropSetter(ReactPropGroup prop, Method setter, int index) {
340
+ super(prop, "mixed", setter, index);
341
+ }
342
+
334
343
  @Override
335
344
  protected @Nullable Object getValueOrDefault(Object value, Context context) {
336
345
  if (value != null) {
@@ -463,7 +472,11 @@ import java.util.Map;
463
472
  }
464
473
  } else if (propTypeClass == int.class) {
465
474
  for (int i = 0; i < names.length; i++) {
466
- props.put(names[i], new IntPropSetter(annotation, method, i, annotation.defaultInt()));
475
+ if ("Color".equals(annotation.customType())) {
476
+ props.put(names[i], new ColorPropSetter(annotation, method, i, annotation.defaultInt()));
477
+ } else {
478
+ props.put(names[i], new IntPropSetter(annotation, method, i, annotation.defaultInt()));
479
+ }
467
480
  }
468
481
  } else if (propTypeClass == float.class) {
469
482
  for (int i = 0; i < names.length; i++) {
@@ -476,7 +489,11 @@ import java.util.Map;
476
489
  }
477
490
  } else if (propTypeClass == Integer.class) {
478
491
  for (int i = 0; i < names.length; i++) {
479
- props.put(names[i], new BoxedIntPropSetter(annotation, method, i));
492
+ if ("Color".equals(annotation.customType())) {
493
+ props.put(names[i], new BoxedColorPropSetter(annotation, method, i));
494
+ } else {
495
+ props.put(names[i], new BoxedIntPropSetter(annotation, method, i));
496
+ }
480
497
  }
481
498
  } else {
482
499
  throw new RuntimeException(
@@ -17,7 +17,7 @@ namespace facebook::react {
17
17
  constexpr struct {
18
18
  int32_t Major = 0;
19
19
  int32_t Minor = 71;
20
- int32_t Patch = 13;
20
+ int32_t Patch = 15;
21
21
  std::string_view Prerelease = "";
22
22
  } ReactNativeVersion;
23
23
 
@@ -300,6 +300,9 @@ class JSCRuntime : public jsi::Runtime {
300
300
  #if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_10_0
301
301
  #define _JSC_NO_ARRAY_BUFFERS
302
302
  #endif
303
+ #if __IPHONE_OS_VERSION_MAX_ALLOWED >= 160400
304
+ #define _JSC_HAS_INSPECTABLE
305
+ #endif
303
306
  #endif
304
307
  #if defined(__MAC_OS_X_VERSION_MIN_REQUIRED)
305
308
  #if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_11
@@ -396,6 +399,13 @@ JSCRuntime::JSCRuntime(JSGlobalContextRef ctx)
396
399
  stringCounter_(0)
397
400
  #endif
398
401
  {
402
+ #ifndef NDEBUG
403
+ #ifdef _JSC_HAS_INSPECTABLE
404
+ if (__builtin_available(macOS 13.3, iOS 16.4, tvOS 16.4, *)) {
405
+ JSGlobalContextSetInspectable(ctx_, true);
406
+ }
407
+ #endif
408
+ #endif
399
409
  }
400
410
 
401
411
  JSCRuntime::~JSCRuntime() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native",
3
- "version": "0.71.13",
3
+ "version": "0.71.15",
4
4
  "bin": "./cli.js",
5
5
  "description": "A framework for building native apps using React",
6
6
  "license": "MIT",
@@ -111,9 +111,9 @@
111
111
  },
112
112
  "dependencies": {
113
113
  "@jest/create-cache-key-function": "^29.2.1",
114
- "@react-native-community/cli": "10.2.4",
114
+ "@react-native-community/cli": "10.2.6",
115
115
  "@react-native-community/cli-platform-android": "10.2.0",
116
- "@react-native-community/cli-platform-ios": "10.2.4",
116
+ "@react-native-community/cli-platform-ios": "10.2.5",
117
117
  "@react-native/assets": "1.0.0",
118
118
  "@react-native/normalize-color": "2.1.0",
119
119
  "@react-native/polyfills": "2.0.0",
@@ -144,7 +144,7 @@
144
144
  "use-sync-external-store": "^1.0.0",
145
145
  "whatwg-fetch": "^3.0.0",
146
146
  "ws": "^6.2.2",
147
- "react-native-codegen": "^0.71.5"
147
+ "react-native-codegen": "^0.71.6"
148
148
  },
149
149
  "devDependencies": {
150
150
  "flow-bin": "^0.191.0",
@@ -159,7 +159,7 @@
159
159
  "@definitelytyped/dtslint": "^0.0.127",
160
160
  "@react-native-community/eslint-config": "*",
161
161
  "@react-native-community/eslint-plugin": "*",
162
- "@react-native/eslint-plugin-specs": "^0.71.1",
162
+ "@react-native/eslint-plugin-specs": "^0.71.2",
163
163
  "@reactions/component": "^2.0.2",
164
164
  "@types/react": "^18.0.18",
165
165
  "@typescript-eslint/parser": "^5.30.5",
@@ -183,7 +183,7 @@
183
183
  "inquirer": "^7.1.0",
184
184
  "jest": "^29.2.1",
185
185
  "jest-junit": "^10.0.0",
186
- "jscodeshift": "^0.13.1",
186
+ "jscodeshift": "^0.14.0",
187
187
  "metro-babel-register": "0.73.10",
188
188
  "metro-memory-fs": "0.73.10",
189
189
  "mkdirp": "^0.5.1",
@@ -11,6 +11,14 @@ class SysctlChecker
11
11
  end
12
12
  end
13
13
 
14
+ # Helper class that is used to easily send commands to Xcodebuild
15
+ # And that can be subclassed for testing purposes.
16
+ class Xcodebuild
17
+ def self.version
18
+ `xcodebuild -version`
19
+ end
20
+ end
21
+
14
22
  # Helper object to wrap system properties like RUBY_PLATFORM
15
23
  # This makes it easier to mock the behaviour in tests
16
24
  class Environment
@@ -26,3 +34,11 @@ class Finder
26
34
  return `find #{path} -type f \\( #{js_files} -or #{ts_files} \\)`.split("\n").sort()
27
35
  end
28
36
  end
37
+
38
+ module Helpers
39
+ class Constants
40
+ def self.min_ios_version_supported
41
+ return '12.4'
42
+ end
43
+ end
44
+ end
@@ -53,22 +53,35 @@ class ReactNativePodsUtils
53
53
  end
54
54
  end
55
55
 
56
- def self.exclude_i386_architecture_while_using_hermes(installer)
57
- projects = installer.aggregate_targets
56
+ def self.extract_projects(installer)
57
+ return installer.aggregate_targets
58
58
  .map{ |t| t.user_project }
59
59
  .uniq{ |p| p.path }
60
60
  .push(installer.pods_project)
61
+ end
61
62
 
63
+ def self.exclude_i386_architecture_while_using_hermes(installer)
64
+ is_using_hermes = self.has_pod(installer, 'hermes-engine')
62
65
 
63
- # Hermes does not support `i386` architecture
64
- excluded_archs_default = ReactNativePodsUtils.has_pod(installer, 'hermes-engine') ? "i386" : ""
66
+ if is_using_hermes
67
+ key = "EXCLUDED_ARCHS[sdk=iphonesimulator*]"
65
68
 
66
- projects.each do |project|
67
- project.build_configurations.each do |config|
68
- config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = excluded_archs_default
69
- end
69
+ projects = self.extract_projects(installer)
70
70
 
71
- project.save()
71
+ projects.each do |project|
72
+ project.build_configurations.each do |config|
73
+ current_setting = config.build_settings[key] || ""
74
+
75
+ excluded_archs_includes_I386 = current_setting.include?("i386")
76
+
77
+ if !excluded_archs_includes_I386
78
+ # Hermes does not support `i386` architecture
79
+ config.build_settings[key] = "#{current_setting} i386".strip
80
+ end
81
+ end
82
+
83
+ project.save()
84
+ end
72
85
  end
73
86
  end
74
87
 
@@ -131,15 +144,29 @@ class ReactNativePodsUtils
131
144
  end
132
145
  end
133
146
 
134
- def self.apply_xcode_15_patch(installer)
135
- installer.target_installation_results.pod_target_installation_results
136
- .each do |pod_name, target_installation_result|
137
- target_installation_result.native_target.build_configurations.each do |config|
138
- # unary_function and binary_function are no longer provided in C++17 and newer standard modes as part of Xcode 15. They can be re-enabled with setting _LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION
139
- # Ref: https://developer.apple.com/documentation/xcode-release-notes/xcode-15-release-notes#Deprecations
140
- config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= '$(inherited) '
141
- config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] << '"_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION" '
147
+ def self.apply_xcode_15_patch(installer, xcodebuild_manager: Xcodebuild)
148
+ projects = self.extract_projects(installer)
149
+
150
+ gcc_preprocessor_definition_key = 'GCC_PREPROCESSOR_DEFINITIONS'
151
+ other_ld_flags_key = 'OTHER_LDFLAGS'
152
+ libcpp_cxx17_fix = '_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION'
153
+ xcode15_compatibility_flags = '-Wl -ld_classic '
154
+
155
+ projects.each do |project|
156
+ project.build_configurations.each do |config|
157
+ # fix for unary_function and binary_function
158
+ self.safe_init(config, gcc_preprocessor_definition_key)
159
+ self.add_value_to_setting_if_missing(config, gcc_preprocessor_definition_key, libcpp_cxx17_fix)
160
+
161
+ # fix for weak linking
162
+ self.safe_init(config, other_ld_flags_key)
163
+ if self.is_using_xcode15_or_greter(:xcodebuild_manager => xcodebuild_manager)
164
+ self.add_value_to_setting_if_missing(config, other_ld_flags_key, xcode15_compatibility_flags)
165
+ else
166
+ self.remove_value_from_setting_if_present(config, other_ld_flags_key, xcode15_compatibility_flags)
167
+ end
142
168
  end
169
+ project.save()
143
170
  end
144
171
  end
145
172
 
@@ -197,4 +224,95 @@ class ReactNativePodsUtils
197
224
  ENV['USE_FRAMEWORKS'] = nil
198
225
  end
199
226
  end
227
+
228
+ def self.updateIphoneOSDeploymentTarget(installer)
229
+ pod_to_update = Set.new([
230
+ "boost",
231
+ "CocoaAsyncSocket",
232
+ "Flipper",
233
+ "Flipper-DoubleConversion",
234
+ "Flipper-Fmt",
235
+ "Flipper-Boost-iOSX",
236
+ "Flipper-Folly",
237
+ "Flipper-Glog",
238
+ "Flipper-PeerTalk",
239
+ "FlipperKit",
240
+ "fmt",
241
+ "libevent",
242
+ "OpenSSL-Universal",
243
+ "RCT-Folly",
244
+ "SocketRocket",
245
+ "YogaKit"
246
+ ])
247
+
248
+ installer.target_installation_results.pod_target_installation_results
249
+ .each do |pod_name, target_installation_result|
250
+ unless pod_to_update.include?(pod_name)
251
+ next
252
+ end
253
+ target_installation_result.native_target.build_configurations.each do |config|
254
+ config.build_settings["IPHONEOS_DEPLOYMENT_TARGET"] = Helpers::Constants.min_ios_version_supported
255
+ end
256
+ end
257
+ end
258
+
259
+ # ========= #
260
+ # Utilities #
261
+ # ========= #
262
+
263
+ def self.extract_projects(installer)
264
+ return installer.aggregate_targets
265
+ .map{ |t| t.user_project }
266
+ .uniq{ |p| p.path }
267
+ .push(installer.pods_project)
268
+ end
269
+
270
+ def self.safe_init(config, setting_name)
271
+ old_config = config.build_settings[setting_name]
272
+ if old_config == nil
273
+ config.build_settings[setting_name] ||= '$(inherited) '
274
+ end
275
+ end
276
+
277
+ def self.add_value_to_setting_if_missing(config, setting_name, value)
278
+ old_config = config.build_settings[setting_name]
279
+ if old_config.is_a?(Array)
280
+ old_config = old_config.join(" ")
281
+ end
282
+
283
+ trimmed_value = value.strip()
284
+ if !old_config.include?(trimmed_value)
285
+ config.build_settings[setting_name] = "#{old_config.strip()} #{trimmed_value}".strip()
286
+ end
287
+ end
288
+
289
+ def self.remove_value_from_setting_if_present(config, setting_name, value)
290
+ old_config = config.build_settings[setting_name]
291
+ if old_config.is_a?(Array)
292
+ old_config = old_config.join(" ")
293
+ end
294
+
295
+ trimmed_value = value.strip()
296
+ if old_config.include?(trimmed_value)
297
+ new_config = old_config.gsub(trimmed_value, "")
298
+ config.build_settings[setting_name] = new_config.strip()
299
+ end
300
+ end
301
+
302
+ def self.is_using_xcode15_or_greter(xcodebuild_manager: Xcodebuild)
303
+ xcodebuild_version = xcodebuild_manager.version
304
+
305
+ # The output of xcodebuild -version is something like
306
+ # Xcode 15.0
307
+ # or
308
+ # Xcode 14.3.1
309
+ # We want to capture the version digits
310
+ regex = /(\d+)\.(\d+)(?:\.(\d+))?/
311
+ if match_data = xcodebuild_version.match(regex)
312
+ major = match_data[1].to_i
313
+ return major >= 15
314
+ end
315
+
316
+ return false
317
+ end
200
318
  end
@@ -15,6 +15,7 @@ require_relative './cocoapods/codegen_utils.rb'
15
15
  require_relative './cocoapods/utils.rb'
16
16
  require_relative './cocoapods/new_architecture.rb'
17
17
  require_relative './cocoapods/local_podspec_patch.rb'
18
+ require_relative './cocoapods/helpers.rb'
18
19
 
19
20
  $CODEGEN_OUTPUT_DIR = 'build/generated/ios'
20
21
  $CODEGEN_COMPONENT_DIR = 'react/renderer/components'
@@ -23,11 +24,11 @@ $FOLLY_VERSION = '2021.07.22.00'
23
24
 
24
25
  $START_TIME = Time.now.to_i
25
26
 
26
- # This function returns the min iOS version supported by React Native
27
- # By using this function, you won't have to manualy change your Podfile
27
+ # This function returns the min supported OS versions supported by React Native
28
+ # By using this function, you won't have to manually change your Podfile
28
29
  # when we change the minimum version supported by the framework.
29
30
  def min_ios_version_supported
30
- return '12.4'
31
+ return Helpers::Constants.min_ios_version_supported
31
32
  end
32
33
 
33
34
  # This function prepares the project for React Native, before processing
@@ -224,11 +225,13 @@ def react_native_post_install(installer, react_native_path = "../node_modules/re
224
225
  ReactNativePodsUtils.fix_library_search_paths(installer)
225
226
  ReactNativePodsUtils.set_node_modules_user_settings(installer, react_native_path)
226
227
  ReactNativePodsUtils.apply_xcode_15_patch(installer)
228
+ ReactNativePodsUtils.updateIphoneOSDeploymentTarget(installer)
227
229
 
228
230
  NewArchitectureHelper.set_clang_cxx_language_standard_if_needed(installer)
229
231
  is_new_arch_enabled = ENV['RCT_NEW_ARCH_ENABLED'] == "1"
230
232
  NewArchitectureHelper.modify_flags_for_new_architecture(installer, is_new_arch_enabled)
231
233
 
234
+
232
235
  Pod::UI.puts "Pod install took #{Time.now.to_i - $START_TIME} [s] to run".green
233
236
  end
234
237
 
@@ -52,7 +52,7 @@ function build_host_hermesc {
52
52
 
53
53
  # Utility function to configure an Apple framework
54
54
  function configure_apple_framework {
55
- local build_cli_tools enable_bitcode enable_debugger cmake_build_type
55
+ local build_cli_tools enable_bitcode enable_debugger cmake_build_type xcode_15_flags xcode_major_version
56
56
 
57
57
  if [[ $1 == iphoneos || $1 == catalyst ]]; then
58
58
  enable_bitcode="true"
@@ -77,8 +77,15 @@ function configure_apple_framework {
77
77
  cmake_build_type="MinSizeRel"
78
78
  fi
79
79
 
80
+ xcode_15_flags=""
81
+ xcode_major_version=$(xcodebuild -version | grep -oE '[0-9]*' | head -n 1)
82
+ if [[ $xcode_major_version -ge 15 ]]; then
83
+ xcode_15_flags="LINKER:-ld_classic"
84
+ fi
85
+
80
86
  pushd "$HERMES_PATH" > /dev/null || exit 1
81
87
  cmake -S . -B "build_$1" \
88
+ -DHERMES_EXTRA_LINKER_FLAGS="$xcode_15_flags" \
82
89
  -DHERMES_APPLE_TARGET_PLATFORM:STRING="$1" \
83
90
  -DCMAKE_OSX_ARCHITECTURES:STRING="$2" \
84
91
  -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING="$3" \
@@ -33,6 +33,13 @@ if [ -z "$deployment_target" ]; then
33
33
  deployment_target=${MACOSX_DEPLOYMENT_TARGET}
34
34
  fi
35
35
 
36
+ xcode_15_flags=""
37
+ xcode_major_version=$(xcodebuild -version | grep -oE '[0-9]*' | head -n 1)
38
+ if [[ $xcode_major_version -ge 15 ]]; then
39
+ echo "########### Using LINKER:-ld_classic ###########"
40
+ xcode_15_flags="LINKER:-ld_classic"
41
+ fi
42
+
36
43
  architectures=$( echo "$ARCHS" | tr " " ";" )
37
44
 
38
45
  echo "Configure Apple framework"
@@ -40,6 +47,7 @@ echo "Configure Apple framework"
40
47
  "$CMAKE_BINARY" \
41
48
  -S "${PODS_ROOT}/hermes-engine" \
42
49
  -B "${PODS_ROOT}/hermes-engine/build/${PLATFORM_NAME}" \
50
+ -DHERMES_EXTRA_LINKER_FLAGS="$xcode_15_flags" \
43
51
  -DHERMES_APPLE_TARGET_PLATFORM:STRING="$PLATFORM_NAME" \
44
52
  -DCMAKE_OSX_ARCHITECTURES:STRING="$architectures" \
45
53
  -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING="$deployment_target" \
Binary file
Binary file
Binary file
package/template/Gemfile CHANGED
@@ -4,3 +4,4 @@ source 'https://rubygems.org'
4
4
  ruby '>= 2.6.10'
5
5
 
6
6
  gem 'cocoapods', '>= 1.11.3'
7
+ gem 'activesupport', '>= 6.1.7.3', '< 7.1.0'
@@ -11,7 +11,7 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "react": "18.2.0",
14
- "react-native": "0.71.13"
14
+ "react-native": "0.71.15"
15
15
  },
16
16
  "devDependencies": {
17
17
  "@babel/core": "^7.20.0",
@@ -10,7 +10,7 @@ Pod::Spec.new do |spec|
10
10
  spec.homepage = 'http://www.boost.org'
11
11
  spec.summary = 'Boost provides free peer-reviewed portable C++ source libraries.'
12
12
  spec.authors = 'Rene Rivera'
13
- spec.source = { :http => 'https://boostorg.jfrog.io/artifactory/main/release/1.76.0/source/boost_1_76_0.tar.bz2',
13
+ spec.source = { :http => 'https://archives.boost.io/release/1.76.0/source/boost_1_76_0.tar.bz2',
14
14
  :sha256 => 'f0397ba6e982c4450f27bf32a2a83292aba035b827a5623a14636ea583318c41' }
15
15
 
16
16
  # Pinning to the same version as React.podspec.