Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Renv Lockfiles + Flatpak Dev modules #5556

Merged
merged 46 commits into from
Jul 17, 2024
Merged

Conversation

RensDofferhoff
Copy link
Contributor

@RensDofferhoff RensDofferhoff commented Jun 11, 2024

Switches to renv lockfiles installed using jaspModuleInstaller.

Renv lockfiles in each jasp Module contain all dependencies of the module.
jaspModuleInstaller will add/alter records to this lockfile to produce _processedLockFile.lock.
renv restore is called on this lockfile.
If MODULE_INSTALL_MODE is localizeAll every jaspModule source in the lockfile will be altered to those in the install folder. This mode is used in compilation of jasp.
If it is localizeModuleOnly (as for dev module installation) only a record to source of module to be installed is added.

Flatpak installation now uses an renv cellar. Cellars are generated using the same mechanisms as normal installation. This way no special gathering script is required.

See https://static.jasp-stats.org/Nightlies/ for the latest lockfiletesting nightlies

Todo:

  • Write some documentation somewhere

Known Issues:
jaspProcess is not installed correctly on Mac because blavaan compilation fails. I have no clue why but if we just use the CRAN binaries its all fine. I have a PR for this: jasp-stats/jaspProcess#102
Maybe @vandenman has any clue why this is going on. Seems to fail on rstantools call.

@RensDofferhoff
Copy link
Contributor Author

RensDofferhoff commented Jun 11, 2024

When this is merged we can remove module install code from jaspBase.
And we can add runners to automatically update lockfiles daily/weekly

@JorisGoosen
Copy link
Contributor

JorisGoosen commented Jun 11, 2024

Nice!

I can build and run it perfectly well on windows on release.
Edit: That was the wrong branch

@JorisGoosen
Copy link
Contributor

Alright, the good branch does work, however I still cant install dev modules.
Ill look into it later more

@@ -0,0 +1,23 @@
{
"R": {
"Version": "4.3.3",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why we lock all R version to 4.3.3?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is ignored. We will have runners to automatically update these lockfiles in the future

@RensDofferhoff
Copy link
Contributor Author

Alright, the good branch does work, however I still cant install dev modules. Ill look into it later more

Any logs?

@RensDofferhoff RensDofferhoff force-pushed the lockfiletesting branch 3 times, most recently from ab24910 to a6131f3 Compare June 18, 2024 09:10
@RensDofferhoff RensDofferhoff force-pushed the lockfiletesting branch 2 times, most recently from f867386 to b8a668a Compare June 26, 2024 12:52
@RensDofferhoff RensDofferhoff force-pushed the lockfiletesting branch 2 times, most recently from e1abb02 to c173649 Compare July 8, 2024 10:06
@RensDofferhoff RensDofferhoff force-pushed the lockfiletesting branch 3 times, most recently from 8a781bf to b217dc2 Compare July 15, 2024 14:14
vandenman and others added 11 commits July 15, 2024 19:12
very basic functionality works

start on making hashes work

seems more or less functional now

started rewriting cmake, stuff compiles but crashes at runtime

everything seems functional on Linux

windows fixes, stuff compiles but weird runtime error

building on windows works from a clean build, but more testing is needed

more tweaks, update to renv 1.0.2

updates for fallback without lockfile

start unifying stuff across OSes

autogenerated lockfiles seem to be work okay but need more testing

reorganize file + pkgdepends fallback

bump jaspModuleInstaller

spaces -> tabs

bump jaspModuleInstaller

spaces -> tabs

moved getModuleDependencies to jaspModuleInstaller

call setupRenv in setup_renv_rcpp_rinside_jaspModuleInstaller.R.in

remove custom Matrix installation

make configuration work on macos

compilation still fails though...

do follow symlinks otherwise it patches nothing

move searching for fortran outside of the "does framework not exist if()f"

jaspModuleInstaller and fixing of r pkgs needs jaspEngine

so change the order in which things are installed

add R_LIBS for windows and macos

make windows start
now it builds again on macos arm without R installed
@RensDofferhoff RensDofferhoff merged commit 0424321 into development Jul 17, 2024
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
4 participants