gap icon indicating copy to clipboard operation
gap copied to clipboard

Adding Dockerfile to build/run the GAP from current source

Open BaseMax opened this issue 1 year ago • 3 comments

BaseMax avatar Feb 13 '25 09:02 BaseMax

Tested on a Windows machine:

C:\Users\MAX\gap> docker build -t gap .
[+] Building 85.8s (11/11) FINISHED                                                                                                     docker:desktop-linux
 => [internal] load build definition from Dockerfile                                                                                                    0.0s
 => => transferring dockerfile: 357B                                                                                                                    0.0s
 => [internal] load metadata for docker.io/library/alpine:latest                                                                                        2.1s
 => [internal] load .dockerignore                                                                                                                       0.0s
 => => transferring context: 2B                                                                                                                         0.0s
 => [1/6] FROM docker.io/library/alpine:latest@sha256:56fa17d2a7e7f168a043a2712e63aed1f8543aeafdcee47c58dcffe38ed51099                                  0.0s
 => => resolve docker.io/library/alpine:latest@sha256:56fa17d2a7e7f168a043a2712e63aed1f8543aeafdcee47c58dcffe38ed51099                                  0.0s
 => [internal] load build context                                                                                                                      21.1s
 => => transferring context: 548.34MB                                                                                                                  21.1s
 => CACHED [2/6] RUN apk add --no-cache     build-base     autoconf     automake     libtool     gmp-dev     zlib-dev     curl     git                  0.0s
 => CACHED [3/6] WORKDIR /opt                                                                                                                           0.0s
 => [4/6] COPY . .                                                                                                                                      1.4s
 => [5/6] RUN ./autogen.sh &&     ./configure &&     make -j$(nproc)                                                                                   32.9s
 => [6/6] RUN adduser -D -g "" gapuser                                                                                                                  0.4s
 => exporting to image                                                                                                                                 27.6s
 => => exporting layers                                                                                                                                23.5s
 => => exporting manifest sha256:2899b3862420a4c9b36cf3e9dd3904f651acdad9aee29a53ad3e9b2d43ed095e                                                       0.0s
 => => exporting config sha256:67637846c257bf2c2e722025ccd3fbd3265ce740a10666bd2230a4b335b096d9                                                         0.0s
 => => exporting attestation manifest sha256:948134aee83f8f9b30a69e64a3deb0196706c4728a2894eb1668f43014726c57                                           0.0s
 => => exporting manifest list sha256:069ac1ec441852b35af7c647e37c3e562d131652855eb9f106f83b9278d2c32b                                                  0.0s
 => => naming to docker.io/library/gap:latest                                                                                                           0.0s
 => => unpacking to docker.io/library/gap:latest                                                                                                        4.0s

View build details: docker-desktop://dashboard/build/desktop-linux/desktop-linux/i8diq87cp6yip2bshex3wmii8

C:\Users\MAX\gap> docker run --rm -it gap
 *********   GAP 4.12dev-2232-gdb98c35 built on 2025-02-13 10:05:36+0000
 *  GAP  *   https://www.gap-system.org
 *********   Architecture: x86_64-pc-linux-musl-default64-kv10
 Configuration:  gmp 6.3.0, GASMAN
 Loading the library and packages ...
#I  gapdoc package is not available. Check that the name is correct
#I  and it is present in one of the GAP root directories (see '??RootPaths')
#I  GAP: needed package gapdoc cannot be loaded
Error, failed to load needed package `gapdoc' (version >= 1.2) at /opt/lib/package.gi:2038 called from
func(  ); at /opt/lib/system.g:231 called from
<function "CallAndInstallPostRestore">( <arguments> )
 called from read-eval loop at /opt/lib/init.g:693
you can 'quit;' to quit to outer loop, or
you can 'return;' to continue
brk>

image

BaseMax avatar Feb 13 '25 10:02 BaseMax

Hi there, thank you for contributing! However I am not sure we'd want this in this form right now. And I genuinely mean it like that: there are already several docker files for GAP in other repositories under the gap-system org, but all are unmaintained. I'll ask some folks to have a look here, thougj.

fingolfin avatar Feb 13 '25 22:02 fingolfin

Hi - I am currently in the GAP development room, is there any update on this?

BaseMax avatar Apr 07 '25 12:04 BaseMax