Skip to content
Open
Show file tree
Hide file tree
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
2 changes: 0 additions & 2 deletions Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ XZ_jll = "ffd25f8a-64ca-5728-b0f7-c24cf3aae800"
Zstd_jll = "3161d3a3-bdf6-5164-811a-617609db77b4"
p7zip_jll = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0"
pigz_jll = "1bc43ea1-30af-5bc8-a9d4-c018457e6e3e"
unzip_jll = "88f77b66-78eb-5ed0-bc16-ebba0796830d"

[compat]
Bzip2_jll = "1.0.8"
Expand Down Expand Up @@ -67,5 +66,4 @@ XZ_jll = "5.4.4"
Zstd_jll = "1.5.5"
p7zip_jll = "16.2.1, 17.4.0"
pigz_jll = "2.7.0"
unzip_jll = "6.0.2"
julia = "1.7"
10 changes: 5 additions & 5 deletions src/Prefix.jl
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# environment variables must be updated to, etc...
import Base: convert, joinpath, show
using SHA, CodecZlib, TOML, LibGit2_jll
import Bzip2_jll, Gzip_jll, Tar_jll, XZ_jll, Zstd_jll, unzip_jll
import Bzip2_jll, Gzip_jll, Tar_jll, XZ_jll, Zstd_jll, p7zip_jll
using JLLWrappers: pathsep, LIBPATH_env

export Prefix, bindir, libdirs, includedir, logdir, temp_prefix, package
Expand Down Expand Up @@ -376,8 +376,8 @@ function setup(source::SetupSource{ArchiveSource}, targetdir, verbose; tar_flags
if verbose
@info "Extracting zipball $(basename(source.path))..."
end
if unzip_jll.is_available()
run(`$(unzip_jll.unzip()) -q $(source.path)`)
if p7zip_jll.is_available()
run(pipeline(`$(p7zip_jll.p7zip()) x -tzip -- $(source.path)`, devnull))
end
elseif endswith(source.path, ".conda")
@debug "Extracting conda package" source.path
Expand All @@ -389,8 +389,8 @@ function setup(source::SetupSource{ArchiveSource}, targetdir, verbose; tar_flags
pkg_name = replace(basename(source.path), r"^[a-z0-9]{64}-" => "pkg-", ".conda" => ".tar.zst")
@debug "Conda package name" pkg_name
# First unzip the pkg tarball from .conda file
if unzip_jll.is_available()
run(`$(unzip_jll.unzip()) -q $(source.path) $(pkg_name)`)
if p7zip_jll.is_available()
run(pipeline(`$(p7zip_jll.p7zip()) x -tzip -- $(source.path) $(pkg_name)`, devnull))
end
# Second untar the pkg tarball
pkg_source = SetupSource{ArchiveSource}(joinpath(targetdir, pkg_name), source.hash, source.target)
Expand Down
Loading