From 1ae7a739cc77e43d91cf3c9fa85a4cc35c5511ce Mon Sep 17 00:00:00 2001 From: Fredrik Ekre Date: Mon, 15 Oct 2018 10:27:04 +0200 Subject: [PATCH] Use git-external to install Pkg during build. --- Makefile | 11 +++++--- .../md5 | 1 + .../sha512 | 1 + stdlib/.gitignore | 2 ++ stdlib/Makefile | 26 +++++++++++++++++++ stdlib/Pkg.version | 2 ++ test/choosetests.jl | 2 +- 7 files changed, 41 insertions(+), 4 deletions(-) create mode 100644 deps/checksums/Pkg-ed5908796128c6227dcddefa9ec06a47066b8b01.tar.gz/md5 create mode 100644 deps/checksums/Pkg-ed5908796128c6227dcddefa9ec06a47066b8b01.tar.gz/sha512 create mode 100644 stdlib/.gitignore create mode 100644 stdlib/Makefile create mode 100644 stdlib/Pkg.version diff --git a/Makefile b/Makefile index 882beb6172f8fb..3659b8857997b1 100644 --- a/Makefile +++ b/Makefile @@ -59,6 +59,9 @@ endif julia-deps: | $(DIRS) $(build_datarootdir)/julia/base $(build_datarootdir)/julia/test $(build_defaultpkgdir) @$(MAKE) $(QUIET_MAKE) -C $(BUILDROOT)/deps +julia-stdlib: + @$(MAKE) $(QUIET_MAKE) -C $(BUILDROOT)/stdlib + julia-base: julia-deps $(build_sysconfdir)/julia/startup.jl $(build_man1dir)/julia.1 $(build_datarootdir)/julia/julia-config.jl @$(MAKE) $(QUIET_MAKE) -C $(BUILDROOT)/base @@ -74,10 +77,10 @@ julia-ui-release julia-ui-debug : julia-ui-% : julia-src-% julia-sysimg : julia-base julia-ui-$(JULIA_BUILD_MODE) @$(MAKE) $(QUIET_MAKE) -C $(BUILDROOT) $(build_private_libdir)/sys.ji JULIA_EXECUTABLE='$(JULIA_EXECUTABLE)' -julia-sysimg-release : julia-sysimg julia-ui-release +julia-sysimg-release : julia-stdlib julia-sysimg julia-ui-release @$(MAKE) $(QUIET_MAKE) -C $(BUILDROOT) $(build_private_libdir)/sys.$(SHLIB_EXT) -julia-sysimg-debug : julia-sysimg julia-ui-debug +julia-sysimg-debug : julia-stdlib julia-sysimg julia-ui-debug @$(MAKE) $(QUIET_MAKE) -C $(BUILDROOT) $(build_private_libdir)/sys-debug.$(SHLIB_EXT) julia-debug julia-release : julia-% : julia-ui-% julia-sysimg-% julia-symlink julia-libccalltest julia-base-cache @@ -527,10 +530,11 @@ source-dist: full-source-dist: light-source-dist.tmp # Get all the dependencies downloaded @$(MAKE) -C deps getall NO_GIT=1 + @$(MAKE) -C stdlib getall # Create file full-source-dist.tmp to hold all the filenames that go into the tarball cp light-source-dist.tmp full-source-dist.tmp - -ls deps/srccache/*.tar.gz deps/srccache/*.tar.bz2 deps/srccache/*.tar.xz deps/srccache/*.tgz deps/srccache/*.zip deps/srccache/*.pem >> full-source-dist.tmp + -ls deps/srccache/*.tar.gz deps/srccache/*.tar.bz2 deps/srccache/*.tar.xz deps/srccache/*.tgz deps/srccache/*.zip deps/srccache/*.pem stdlib/srccache/*.tar.gz >> full-source-dist.tmp # Prefix everything with the current directory name (usually "julia"), then create tarball DIRNAME=$$(basename $$(pwd)); \ @@ -543,6 +547,7 @@ clean: | $(CLEAN_TARGETS) @-$(MAKE) -C $(BUILDROOT)/src clean @-$(MAKE) -C $(BUILDROOT)/ui clean @-$(MAKE) -C $(BUILDROOT)/test clean + @-$(MAKE) -C $(BUILDROOT)/stdlib clean-pkg -rm -f $(BUILDROOT)/julia -rm -f $(BUILDROOT)/*.tar.gz -rm -f $(build_depsbindir)/stringreplace \ diff --git a/deps/checksums/Pkg-ed5908796128c6227dcddefa9ec06a47066b8b01.tar.gz/md5 b/deps/checksums/Pkg-ed5908796128c6227dcddefa9ec06a47066b8b01.tar.gz/md5 new file mode 100644 index 00000000000000..6a2f75aeb009ef --- /dev/null +++ b/deps/checksums/Pkg-ed5908796128c6227dcddefa9ec06a47066b8b01.tar.gz/md5 @@ -0,0 +1 @@ +df1b07419d50db883998ca9bb8fc7ea1 diff --git a/deps/checksums/Pkg-ed5908796128c6227dcddefa9ec06a47066b8b01.tar.gz/sha512 b/deps/checksums/Pkg-ed5908796128c6227dcddefa9ec06a47066b8b01.tar.gz/sha512 new file mode 100644 index 00000000000000..c750de47667599 --- /dev/null +++ b/deps/checksums/Pkg-ed5908796128c6227dcddefa9ec06a47066b8b01.tar.gz/sha512 @@ -0,0 +1 @@ +c2a1427d3d8fec20746676133b41db6a082e9b3fc7c1941a43e0398cfe8b33d1547ab58d89391a99b26816909e77258d6331894295d5c6084997da8104f9ac7b diff --git a/stdlib/.gitignore b/stdlib/.gitignore new file mode 100644 index 00000000000000..d8ce799be4bb97 --- /dev/null +++ b/stdlib/.gitignore @@ -0,0 +1,2 @@ +/srccache +/Pkg diff --git a/stdlib/Makefile b/stdlib/Makefile new file mode 100644 index 00000000000000..d49bf6645ec2d6 --- /dev/null +++ b/stdlib/Makefile @@ -0,0 +1,26 @@ +default: Pkg +SRCDIR := $(abspath $(dir $(lastword $(MAKEFILE_LIST)))) +JULIAHOME := $(abspath $(SRCDIR)/..) +SRCCACHE := $(abspath $(SRCDIR)/srccache) +BUILDDIR := $(SRCCACHE) + +include $(JULIAHOME)/Make.inc +include $(JULIAHOME)/deps/tools/common.mk +include $(JULIAHOME)/deps/tools/git-external.mk + +PKG := https://github.com/JuliaLang/Pkg.jl +PKG_TAR_URL = https://api.github.com/repos/JuliaLang/Pkg.jl/tarball/$1 +$(eval $(call git-external,Pkg,PKG,,,$(BUILDDIR))) + +extract-pkg: $(BUILDDIR)/$(PKG_SRC_DIR)/source-extracted +Pkg: $(BUILDDIR)/$(PKG_SRC_DIR)/source-extracted + rm -rf $@ + cp -r $(BUILDDIR)/$(PKG_SRC_DIR) $@ +get-pkg: Pkg +clean-pkg: + -rm -rf Pkg + -rm -rf $(BUILDDIR)/$(PKG_SRC_DIR) + +getall: get-pkg + +.PHONY: default extract-pkg Pkg get-pkg clean-pkg getall diff --git a/stdlib/Pkg.version b/stdlib/Pkg.version new file mode 100644 index 00000000000000..a7733e05b8262f --- /dev/null +++ b/stdlib/Pkg.version @@ -0,0 +1,2 @@ +PKG_BRANCH = master +PKG_SHA1 = ed5908796128c6227dcddefa9ec06a47066b8b01 diff --git a/test/choosetests.jl b/test/choosetests.jl index 1ce2591aff61bd..57eeb67c9df721 100644 --- a/test/choosetests.jl +++ b/test/choosetests.jl @@ -3,7 +3,7 @@ using Random, Sockets const STDLIB_DIR = joinpath(Sys.BINDIR, "..", "share", "julia", "stdlib", "v$(VERSION.major).$(VERSION.minor)") -const STDLIBS = filter!(x -> isdir(joinpath(STDLIB_DIR, x)), readdir(STDLIB_DIR)) +const STDLIBS = filter!(x -> isfile(joinpath(STDLIB_DIR, x, "src", "$(x).jl")), readdir(STDLIB_DIR)) """