ce69df19ac
fixes #19449 In this commit we change the way patches are applied. We no longer have to write patches in a patch phase like we used to, we can now place individual changes in a patch file inside the `patches` directory and they will be automatically applied. Because of this change we can get rid of forks and instead have those changes in patch files. To generate a patch file this make command can be used `make patch-file` This will open an interactive shell which will allow you to specify which file you want to patch and then wait till you make those changes and generate a patch for it. ``` make patch-file Configuring Nix shell for target 'default'... Enter the path of the file to patch: ./node_modules/is-glob/index.js File to patch: ./node_modules/is-glob/index.js Temporary directory created: /tmp/tmp-status-mobile-40bc588fa/tmp.xrXarXoTPZ Original file copied to temporary directory. Please make the necessary changes to the file: ./node_modules/is-glob/index.js Press any key when you are done with the changes... Generating patch file... Patch file created at /Users/siddarthkumar/code/status-im/PR/status-mobile/patches/index.js.patch Info: Please execute 'make run-clojure' to test if the patch file works as expected. ``` - Android - iOS |
||
---|---|---|
.. | ||
README.md | ||
default.nix |
README.md
Description
This Nix derivation takes the result of the nix/deps/nodejs/default.nix
derivation and adjusts it for use with Gradle.
Details
Modules provided by yarn2nix
are normally fine, but we use react-native-*
packages which have their own gradle.build
files that reference external Maven repositories:
repositories {
google()
maven { url "https://www.jitpack.io" }
}
And these need to be patched and replaced with mavenLocal()
to make sure Gradle doesn't try to fetch dependencies from remote repos.
This derivation symlinks most of the modules found in the yarn2nix
result and copies the ones that require patching of gradle.build
files in patchGradlePhase
.
It also applies other fixes like making BuildId
static in patchBuildIdPhase
and fixing a Hermes bug in patchHermesPhase
.