ReproNim / neurodocker

Generate custom Docker and Singularity images, and minimize existing containers
https://www.repronim.org/neurodocker/
Apache License 2.0
327 stars 97 forks source link

gentoo support #602

Closed yarikoptic closed 2 months ago

yarikoptic commented 6 months ago

@TheChymera is gentoo wizard. They have binary builds of AFNI , FSL and other stuff available through emerge.

Also within the scope of "reproducible container builds", for which we developed nd_freeze, Gentoo "natively" supports a way to fix (specify) the state of package listing to a specific commit. We have used that in the https://github.com/con/opfvta-reexecution/blob/master/code/images/Containerfile#L11 to ensure similar consistency.

Moreover, gentoo could be installed on another Linux base system within a gentoo-prefix, so could be added to augment some other environment similarly to conda if another base has to be used for some reason.

TheChymera commented 6 months ago

They have binary builds of AFNI, FSL, etc

We don't really have “binary builds”, if that means binaries which we distribute for packages built by Gentoo. Gentoo is source-based by default and additional binary builds are only provided for packages which are known to take ages to build (e.g. firefox, chromium, etc.) What we do have are source-based build recipes which you can run locally, and which are being run locally and work.

You can see everything we have in the science overlay with:

git clone git@github.com:gentoo/sci.git
cd sci
find -name "*package-you-want*"

(we have a ton of neuroscience stuff, also datalad, dandi, NWB-land, spike-sorting, etc.)

Alternatively, there's also this search engine which will query not only the science overlay (as above), but also the base overlay (the collection of packages everybody has access to, by default), and also all other overlays including personal user ones → https://gpo.zugaina.org/

Gentoo prefix

More on that here. In practice, the installation is very simple, it's just:

wget https://gitweb.gentoo.org/repo/proj/prefix.git/plain/scripts/bootstrap-prefix.sh
chmod +x bootstrap-prefix.sh 
./bootstrap-prefix.sh 

The problems with that are:

  1. It takes a long time, since it builds most of the system from scratch
  2. The applications can only really reliably be used inside the prefix environment.... So using it in a container is a sort of virtualization-in-virtualization type of thing...

I wonder if it wouldn't be easier to just offer native Gentoo installs, based on the docker images which Gentoo publishes here: https://hub.docker.com/r/gentoo/stage3

yarikoptic commented 6 months ago

yes, you can start with just native installs. prefix installation was just a possibly interesting idea to mix and match.

github-actions[bot] commented 4 months ago

This issue is stale because it has been open for 30 days with no activity.

github-actions[bot] commented 2 months ago

This issue was closed because it has been inactive for 14 days since being marked as stale.