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

In build.jl: Only clone new GAP if gap subfolder not present #267

Merged
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 12 additions & 5 deletions deps/build.jl
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,18 @@ julia_binary = get(ENV, "JULIA_BINARY", Sys.BINDIR)
if install_gap
println("Installing GAP ...")
cd(extra_gap_root)
## TODO: We currently use the GAP master branch.
## Once all issues of using GAP with the julia
## GC are resolved, we switch to a stable version.
run(`git clone --depth=1 https://github.com/gap-system/gap`)
cd("gap")
## check if gap already exists
if isdir("gap")
### Update the GAP clone
cd("gap")
run(`git pull --depth=1 origin master`)
Copy link
Member

Choose a reason for hiding this comment

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

So, what if we ever switch to building GAP point releases? Then gap won't be a git dir, right? So perhaps also check for the presence of .git?

Hm, IIRC, in the past, pulling in a shallow repo was problematic for various reasons (though this may have improved in recent git versions -- but of course we don't know if our users all have recent git versions, do we?). Also git pull --depth=N had its issues. Also note that this is slightly risky if files got renamed, possibly clashing with files we made.

I would therefore recommend that we also run something like git clean -fx or git clean -fdx (depending on whether we want to reuse the pkg dir or not... same for the downloaded packages...

Thinking further along this line, I wonder if we shouldn't do an out-of-tree build for GAP anyway?

else
## TODO: We currently use the GAP master branch.
## Once all issues of using GAP with the julia
## GC are resolved, we switch to a stable version.
run(`git clone --depth=1 https://github.com/gap-system/gap`)
cd("gap")
end
run(`./autogen.sh`)
run(`./configure --with-gc=julia --with-julia=$(julia_binary)`)
run(`make -j$(Sys.CPU_THREADS)`)
Expand Down