0cc1464112
- react-native recently introduced a new JavaScript engine called Hermes with the purpose to speed-up apps made with react-native. Unfortunately, the engine requires some additional processing (transforming js to bytecode) which is carried by some binaries in node_modules. This commit adds the required steps to obtain those binaries from source (and there are a few)
138 lines
4.5 KiB
YAML
138 lines
4.5 KiB
YAML
Categories:
|
|
- Connectivity
|
|
- Games
|
|
License: GPL-3.0-only
|
|
AuthorName: Alexandru Damian Manea
|
|
AuthorEmail: maneaalexdamian@gmail.com
|
|
SourceCode: https://github.com/experiment322/controlloid-client
|
|
IssueTracker: https://github.com/experiment322/controlloid-client/issues
|
|
Changelog: https://raw.githubusercontent.com/experiment322/controlloid-client/HEAD/CHANGELOG.md
|
|
LiberapayID: '1571871'
|
|
|
|
AutoName: Controlloid
|
|
|
|
RepoType: git
|
|
Repo: https://github.com/experiment322/controlloid-client
|
|
|
|
Builds:
|
|
- versionName: 1.0.0
|
|
versionCode: 8
|
|
commit: v1.0.0
|
|
subdir: android/app
|
|
sudo:
|
|
- apt-get update
|
|
- apt-get install -y -t stretch-backports npm
|
|
init: npm install
|
|
gradle:
|
|
- yes
|
|
prebuild: truncate -s 0 ../../node_modules/@react-native-community/cli/build/commands/server/external/xsel
|
|
scanignore:
|
|
- android/build.gradle
|
|
- node_modules/react-native-svg/android/build.gradle
|
|
- node_modules/react-native-screens/android/build.gradle
|
|
scandelete:
|
|
- node_modules
|
|
|
|
- versionName: 1.1.0
|
|
versionCode: 9
|
|
commit: v1.1.0
|
|
subdir: android/app
|
|
sudo:
|
|
- apt-get update || apt-get update
|
|
- apt-get install -y -t stretch-backports npm
|
|
init: npm install
|
|
gradle:
|
|
- yes
|
|
prebuild: truncate -s 0 ../../node_modules/@react-native-community/cli/build/commands/server/external/xsel
|
|
scanignore:
|
|
- android/build.gradle
|
|
- node_modules/react-native-svg/android/build.gradle
|
|
- node_modules/react-native-screens/android/build.gradle
|
|
scandelete:
|
|
- node_modules
|
|
|
|
- versionName: 1.1.1
|
|
versionCode: 10
|
|
commit: v1.1.1
|
|
subdir: android/app
|
|
sudo:
|
|
- apt-get update || apt-get update
|
|
- apt-get install -y -t stretch-backports npm
|
|
init: npm install
|
|
gradle:
|
|
- yes
|
|
prebuild: truncate -s 0 ../../node_modules/@react-native-community/cli/build/commands/server/external/xsel
|
|
scanignore:
|
|
- android/build.gradle
|
|
- node_modules/react-native-svg/android/build.gradle
|
|
- node_modules/react-native-screens/android/build.gradle
|
|
scandelete:
|
|
- node_modules
|
|
|
|
- versionName: 1.2.0
|
|
versionCode: 11
|
|
commit: v1.2.0
|
|
subdir: android/app
|
|
sudo:
|
|
- apt-get update || apt-get update
|
|
- apt-get install -y -t stretch-backports npm
|
|
- apt-get install -y bubblewrap cmake g++ git ninja-build python3 zip libicu-dev
|
|
libreadline-dev
|
|
- bash -c "echo fs.inotify.max_user_watches=524288 >> /etc/sysctl.conf"
|
|
- sysctl -p
|
|
init:
|
|
- pushd ../..
|
|
- npm install
|
|
- rm -vrf node_modules/react-native/template
|
|
- truncate -s 0 node_modules/react-native/node_modules/@react-native-community/cli/build/commands/server/external/xsel
|
|
- git clone https://github.com/facebook/hermes.git --branch v0.2.1
|
|
- rm -vf hermes/external/flowparser/*.a
|
|
- git clone https://github.com/facebook/flow.git --branch v0.102.0
|
|
- rm -vrf flow/{tests,website}
|
|
- git clone https://github.com/ocaml/opam.git --branch 2.0.5
|
|
- popd
|
|
gradle:
|
|
- yes
|
|
scanignore:
|
|
- android/build.gradle
|
|
- node_modules/@react-native-community/async-storage/android/build.gradle
|
|
- node_modules/react-native-reanimated/android/build.gradle
|
|
- node_modules/react-native-screens/android/build.gradle
|
|
- node_modules/react-native-svg/android/build.gradle
|
|
scandelete:
|
|
- node_modules
|
|
build:
|
|
- pushd ../..
|
|
- pushd opam
|
|
- make cold CONFIGURE_ARGS="--prefix $(realpath ../opam_build)"
|
|
- make cold-install
|
|
- popd
|
|
- PATH=$PATH:$(realpath opam_build/bin)
|
|
- opam init --no-setup --compiler 4.05.0
|
|
- eval $(opam env)
|
|
- pushd flow
|
|
- opam update
|
|
- opam pin add flowtype . -n
|
|
- opam install -y --deps-only flowtype
|
|
- popd
|
|
- pushd flow/src/parser
|
|
- make dist/libflowparser/lib/libflowparser.a
|
|
- cp -vf dist/libflowparser/lib/libflowparser.a ../../../hermes/external/flowparser/libflowparser-linux.a
|
|
- popd
|
|
- python3 hermes/utils/build/build_llvm.py --distribute
|
|
- python3 hermes/utils/build/configure.py --distribute hermes_build
|
|
- pushd hermes_build_release
|
|
- ninja
|
|
- popd
|
|
- cp -vf hermes_build_release/bin/{hermes,hermes-repl} node_modules/hermes-engine/linux64-bin
|
|
- popd
|
|
|
|
MaintainerNotes: |-
|
|
Use scanignore to allow the "node_modules/react-native/android"
|
|
local Maven repository which contains the React Native library.
|
|
|
|
AutoUpdateMode: Version v%v
|
|
UpdateCheckMode: Tags
|
|
CurrentVersion: 1.2.0
|
|
CurrentVersionCode: 11
|