react-native-tvos 0.71.8-0rc1 → 0.71.8-0rc3

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.
Files changed (30) hide show
  1. package/Libraries/Core/ReactNativeVersion.js +1 -1
  2. package/React/Base/RCTVersion.m +1 -1
  3. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +3 -1
  4. package/React-Core.podspec +1 -2
  5. package/ReactAndroid/gradle.properties +1 -1
  6. package/ReactAndroid/hermes-engine/build.gradle +1 -1
  7. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +1 -1
  8. package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
  9. package/ReactCommon/hermes/React-hermes.podspec +1 -1
  10. package/package.json +1 -1
  11. package/scripts/cocoapods/new_architecture.rb +2 -2
  12. package/scripts/cocoapods/utils.rb +1 -0
  13. package/scripts/hermes/hermes-utils.js +3 -3
  14. package/sdks/.hermesversion +1 -1
  15. package/sdks/hermes-engine/hermes-engine.podspec +8 -3
  16. package/sdks/hermes-engine/utils/build-apple-framework.sh +13 -8
  17. package/sdks/hermes-engine/utils/build-ios-framework.sh +5 -1
  18. package/template/package.json +1 -1
  19. package/sdks/hermesc/linux64-bin/hermesc +0 -0
  20. package/sdks/hermesc/osx-bin/hermesc +0 -0
  21. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  22. package/sdks/hermesc/win64-bin/icudt64.dll +0 -0
  23. package/sdks/hermesc/win64-bin/icuin64.dll +0 -0
  24. package/sdks/hermesc/win64-bin/icuio64.dll +0 -0
  25. package/sdks/hermesc/win64-bin/icutest64.dll +0 -0
  26. package/sdks/hermesc/win64-bin/icutu64.dll +0 -0
  27. package/sdks/hermesc/win64-bin/icuuc64.dll +0 -0
  28. package/sdks/hermesc/win64-bin/msvcp140.dll +0 -0
  29. package/sdks/hermesc/win64-bin/vcruntime140.dll +0 -0
  30. package/sdks/hermesc/win64-bin/vcruntime140_1.dll +0 -0
@@ -13,5 +13,5 @@ exports.version = {
13
13
  major: 0,
14
14
  minor: 71,
15
15
  patch: 8,
16
- prerelease: '0rc1',
16
+ prerelease: '0rc3',
17
17
  };
@@ -24,7 +24,7 @@ NSDictionary* RCTGetReactNativeVersion(void)
24
24
  RCTVersionMajor: @(0),
25
25
  RCTVersionMinor: @(71),
26
26
  RCTVersionPatch: @(8),
27
- RCTVersionPrerelease: @"0rc1",
27
+ RCTVersionPrerelease: @"0rc3",
28
28
  };
29
29
  });
30
30
  return __rnVersion;
@@ -1029,8 +1029,10 @@ using namespace facebook::react;
1029
1029
  if ([_propKeysManagedByAnimated_DO_NOT_USE_THIS_IS_BROKEN containsObject:@"opacity"]) {
1030
1030
  self.layer.opacity = (float)props.opacity;
1031
1031
  }
1032
-
1032
+
1033
+ #if TARGET_OS_TV
1033
1034
  [self removeFocusGuide];
1035
+ #endif
1034
1036
 
1035
1037
  _propKeysManagedByAnimated_DO_NOT_USE_THIS_IS_BROKEN = nil;
1036
1038
  _eventEmitter.reset();
@@ -19,7 +19,6 @@ end
19
19
  folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32'
20
20
  folly_version = '2021.07.22.00'
21
21
  boost_compiler_flags = '-Wno-documentation'
22
- tvos_no_hermes_flags = '-DRCT_USE_HERMES=0'
23
22
 
24
23
  use_hermes = ENV['USE_HERMES'] == '1'
25
24
 
@@ -61,7 +60,7 @@ Pod::Spec.new do |s|
61
60
  s.source = source
62
61
  s.resource_bundle = { "AccessibilityResources" => ["React/AccessibilityResources/*.lproj"]}
63
62
  s.ios.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags
64
- s.tvos.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags + ' ' + tvos_no_hermes_flags
63
+ s.tvos.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags
65
64
  s.header_dir = "React"
66
65
  s.framework = "JavaScriptCore"
67
66
  s.pod_target_xcconfig = {
@@ -1,4 +1,4 @@
1
- VERSION_NAME=0.71.8-0rc1
1
+ VERSION_NAME=0.71.8-0rc3
2
2
 
3
3
  # GROUP=com.facebook.react
4
4
  # Group for the TV repo
@@ -47,7 +47,7 @@ def hermesDir = System.getenv("REACT_NATIVE_OVERRIDE_HERMES_DIR") ?: new File(re
47
47
  def hermesBuildDir = new File("$buildDir/hermes")
48
48
 
49
49
  def hermesVersion = "main"
50
- def hermesVersionFile = new File(reactNativeRootDir, "sdks/.hermesversion")
50
+ def hermesVersionFile = new File(reactNativeRootDir, "node_modules/react-native-core/sdks/.hermesversion")
51
51
  if (hermesVersionFile.exists()) {
52
52
  hermesVersion = hermesVersionFile.text
53
53
  }
@@ -18,5 +18,5 @@ public class ReactNativeVersion {
18
18
  "major", 0,
19
19
  "minor", 71,
20
20
  "patch", 8,
21
- "prerelease", "0rc1");
21
+ "prerelease", "0rc3");
22
22
  }
@@ -18,7 +18,7 @@ constexpr struct {
18
18
  int32_t Major = 0;
19
19
  int32_t Minor = 71;
20
20
  int32_t Patch = 8;
21
- std::string_view Prerelease = "0rc1";
21
+ std::string_view Prerelease = "0rc3";
22
22
  } ReactNativeVersion;
23
23
 
24
24
  } // namespace facebook::react
@@ -31,7 +31,7 @@ Pod::Spec.new do |s|
31
31
  s.homepage = "https://reactnative.dev/"
32
32
  s.license = package['license']
33
33
  s.author = "Facebook, Inc. and its affiliates"
34
- s.platforms = { :osx => "10.14", :ios => "12.4" }
34
+ s.platforms = { :osx => "10.14", :ios => "12.4", :tvos => "12.4" }
35
35
  s.source = source
36
36
  s.source_files = "executor/*.{cpp,h}",
37
37
  "inspector/*.{cpp,h}",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-tvos",
3
- "version": "0.71.8-0rc1",
3
+ "version": "0.71.8-0rc3",
4
4
  "bin": "./cli.js",
5
5
  "description": "A framework for building native apps using React",
6
6
  "license": "MIT",
@@ -16,7 +16,7 @@ class NewArchitectureHelper
16
16
  language_standard = nil
17
17
 
18
18
  installer.pods_project.targets.each do |target|
19
- if target.name == 'React-Core'
19
+ if target.name.include? 'React-Core'
20
20
  language_standard = target.resolved_build_setting("CLANG_CXX_LANGUAGE_STANDARD", resolve_against_xcconfig: true).values[0]
21
21
  end
22
22
  end
@@ -54,7 +54,7 @@ class NewArchitectureHelper
54
54
 
55
55
  # Add RCT_NEW_ARCH_ENABLED to generated pod target projects
56
56
  installer.target_installation_results.pod_target_installation_results.each do |pod_name, target_installation_result|
57
- if pod_name == 'React-Core'
57
+ if pod_name.include? 'React-Core'
58
58
  target_installation_result.native_target.build_configurations.each do |config|
59
59
  config.build_settings['OTHER_CPLUSPLUSFLAGS'] = @@new_arch_cpp_flags
60
60
  end
@@ -66,6 +66,7 @@ class ReactNativePodsUtils
66
66
  projects.each do |project|
67
67
  project.build_configurations.each do |config|
68
68
  config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = excluded_archs_default
69
+ config.build_settings["EXCLUDED_ARCHS[sdk=appletvsimulator*]"] = excluded_archs_default
69
70
  end
70
71
 
71
72
  project.save()
@@ -18,7 +18,7 @@ const SDKS_DIR = path.normalize(path.join(__dirname, '..', '..', 'sdks'));
18
18
  const HERMES_DIR = path.join(SDKS_DIR, 'hermes');
19
19
  const HERMES_TAG_FILE_PATH = path.join(SDKS_DIR, '.hermesversion');
20
20
  const HERMES_SOURCE_TARBALL_BASE_URL =
21
- 'https://github.com/facebook/hermes/tarball/';
21
+ 'https://github.com/react-native-tvos/hermes/tarball/';
22
22
  const HERMES_TARBALL_DOWNLOAD_DIR = path.join(SDKS_DIR, 'download');
23
23
  const MACOS_BIN_DIR = path.join(SDKS_DIR, 'hermesc', 'osx-bin');
24
24
  const MACOS_HERMESC_PATH = path.join(MACOS_BIN_DIR, 'hermesc');
@@ -72,7 +72,7 @@ function setHermesTag(hermesTag) {
72
72
 
73
73
  function getHermesTagSHA(hermesTag) {
74
74
  return execSync(
75
- `git ls-remote https://github.com/facebook/hermes ${hermesTag} | cut -f 1`,
75
+ `git ls-remote https://github.com/react-native-tvos/hermes ${hermesTag} | cut -f 1`,
76
76
  )
77
77
  .toString()
78
78
  .trim();
@@ -98,7 +98,7 @@ function downloadHermesSourceTarball() {
98
98
  }
99
99
 
100
100
  console.info(
101
- `[Hermes] Downloading Hermes source code for commit ${hermesTagSHA}`,
101
+ `[Hermes] Downloading Hermes source code for commit ${hermesTagSHA} from ${hermesTarballUrl}`,
102
102
  );
103
103
  try {
104
104
  delegateSync('curl', [hermesTarballUrl, '-Lo', hermesTarballDownloadPath]);
@@ -1 +1 @@
1
- hermes-2023-03-07-RNv0.71.4-31fdcf738940875c9bacf251e149006cf515d763
1
+ hermes-2023-05-19-RNv0.71.8-03c5337ba368c343ff3220d428c58f499dbb4ff1
@@ -20,7 +20,7 @@ hermestag_file = File.join(react_native_path, "sdks", ".hermesversion")
20
20
  isInCI = ENV['REACT_NATIVE_CI'] === 'true'
21
21
 
22
22
  source = {}
23
- git = "https://github.com/facebook/hermes.git"
23
+ git = "https://github.com/react-native-tvos/hermes.git"
24
24
 
25
25
  isInMain = version.include?('1000.0.0')
26
26
  isNightly = version.start_with?('0.0.0-')
@@ -51,7 +51,9 @@ elsif File.exist?(hermestag_file) && isInCI
51
51
  else
52
52
  # Sample url from Maven:
53
53
  # https://repo1.maven.org/maven2/com/facebook/react/react-native-artifacts/0.71.0/react-native-artifacts-0.71.0-hermes-ios-debug.tar.gz
54
- source[:http] = "https://repo1.maven.org/maven2/com/facebook/react/react-native-artifacts/#{version}/react-native-artifacts-#{version}-hermes-ios-#{build_type.to_s}.tar.gz"
54
+ source[:http] = "https://s01.oss.sonatype.org/content/groups/public/io/github/react-native-tvos/react-native-artifacts/#{version}/react-native-artifacts-#{version}-hermes-ios-#{build_type.to_s}.tar.gz"
55
+ # Use the URL below when testing artifacts published to local temp Maven
56
+ # source[:http] = "file:///tmp/maven-local/io/github/react-native-tvos/react-native-artifacts/#{version}/react-native-artifacts-#{version}-hermes-ios-#{build_type.to_s}.tar.gz"
55
57
  end
56
58
 
57
59
  Pod::Spec.new do |spec|
@@ -63,7 +65,7 @@ Pod::Spec.new do |spec|
63
65
  spec.license = package['license']
64
66
  spec.author = "Facebook"
65
67
  spec.source = source
66
- spec.platforms = { :osx => "10.13", :ios => "12.4" }
68
+ spec.platforms = { :osx => "10.13", :ios => "12.4", :tvos => "12.4" }
67
69
 
68
70
  spec.preserve_paths = '**/*.*'
69
71
  spec.source_files = ''
@@ -81,6 +83,7 @@ Pod::Spec.new do |spec|
81
83
  ss.exclude_files = ["destroot/include/jsi/jsi/JSIDynamic.{h,cpp}", "destroot/include/jsi/jsi/jsilib-*.{h,cpp}"]
82
84
  ss.header_mappings_dir = "destroot/include"
83
85
  ss.ios.vendored_frameworks = "destroot/Library/Frameworks/universal/hermes.xcframework"
86
+ ss.tvos.vendored_frameworks = "destroot/Library/Frameworks/universal/hermes.xcframework"
84
87
  ss.osx.vendored_frameworks = "destroot/Library/Frameworks/macosx/hermes.framework"
85
88
  end
86
89
 
@@ -119,6 +122,8 @@ Pod::Spec.new do |spec|
119
122
  spec.user_target_xcconfig = {
120
123
  'FRAMEWORK_SEARCH_PATHS' => '"$(PODS_ROOT)/hermes-engine/destroot/Library/Frameworks/iphoneos" ' +
121
124
  '"$(PODS_ROOT)/hermes-engine/destroot/Library/Frameworks/iphonesimulator" ' +
125
+ '"$(PODS_ROOT)/hermes-engine/destroot/Library/Frameworks/appletvos" ' +
126
+ '"$(PODS_ROOT)/hermes-engine/destroot/Library/Frameworks/appletvsimulator" ' +
122
127
  '"$(PODS_ROOT)/hermes-engine/destroot/Library/Frameworks/macosx" ' +
123
128
  '"$(PODS_ROOT)/hermes-engine/destroot/Library/Frameworks/catalyst"',
124
129
  'OTHER_LDFLAGS' => '-framework "hermes"',
@@ -37,6 +37,10 @@ function get_ios_deployment_target {
37
37
  use_env_var_or_ruby_prop "${IOS_DEPLOYMENT_TARGET}" "deployment_target('ios')"
38
38
  }
39
39
 
40
+ function get_tvos_deployment_target {
41
+ use_env_var_or_ruby_prop "${IOS_DEPLOYMENT_TARGET}" "deployment_target('tvos')"
42
+ }
43
+
40
44
  function get_mac_deployment_target {
41
45
  use_env_var_or_ruby_prop "${MAC_DEPLOYMENT_TARGET}" "deployment_target('osx')"
42
46
  }
@@ -54,11 +58,14 @@ function build_host_hermesc {
54
58
  function configure_apple_framework {
55
59
  local build_cli_tools enable_bitcode enable_debugger cmake_build_type
56
60
 
57
- if [[ $1 == iphoneos || $1 == catalyst ]]; then
58
- enable_bitcode="true"
59
- else
60
- enable_bitcode="false"
61
- fi
61
+ # if [[ $1 == appletvos || $1 == iphoneos || $1 == catalyst ]]; then
62
+ # enable_bitcode="true"
63
+ # else
64
+ # enable_bitcode="false"
65
+ # fi
66
+ #
67
+ # Xcode 14 deprecates bitcode, so we turn this off
68
+ enable_bitcode="false"
62
69
  if [[ $1 == macosx ]]; then
63
70
  build_cli_tools="true"
64
71
  else
@@ -70,9 +77,7 @@ function configure_apple_framework {
70
77
  enable_debugger="false"
71
78
  fi
72
79
  if [[ $BUILD_TYPE == "Debug" ]]; then
73
- # JS developers aren't VM developers.
74
- # Therefore we're passing as build type Release, to provide a faster build.
75
- cmake_build_type="Release"
80
+ cmake_build_type="Debug"
76
81
  else
77
82
  cmake_build_type="MinSizeRel"
78
83
  fi
@@ -10,12 +10,16 @@ CURR_SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd -P)"
10
10
 
11
11
  if [ ! -d destroot/Library/Frameworks/universal/hermes.xcframework ]; then
12
12
  ios_deployment_target=$(get_ios_deployment_target)
13
+ tvos_deployment_target=$(get_tvos_deployment_target)
13
14
 
14
15
  build_apple_framework "iphoneos" "arm64" "$ios_deployment_target"
15
16
  build_apple_framework "iphonesimulator" "x86_64;arm64" "$ios_deployment_target"
16
17
  build_apple_framework "catalyst" "x86_64;arm64" "$ios_deployment_target"
17
18
 
18
- create_universal_framework "iphoneos" "iphonesimulator" "catalyst"
19
+ build_apple_framework "appletvos" "arm64" "$tvos_deployment_target"
20
+ build_apple_framework "appletvsimulator" "x86_64;arm64" "$tvos_deployment_target"
21
+
22
+ create_universal_framework "iphoneos" "iphonesimulator" "appletvos" "appletvsimulator" "catalyst"
19
23
  else
20
24
  echo "Skipping; Clean \"destroot\" to rebuild".
21
25
  fi
@@ -11,7 +11,7 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "react": "18.2.0",
14
- "react-native": "npm:react-native-tvos@0.71.8-0rc1"
14
+ "react-native": "npm:react-native-tvos@0.71.8-0rc3"
15
15
  },
16
16
  "devDependencies": {
17
17
  "@babel/core": "^7.20.0",
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file