[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Minios-devel] [UNIKRAFT PATCH 1/1] support/build: Add support for the tar.xz and .txz format



From: Vlad Badoiu <vlad_andrei.badoiu@xxxxxxxxxxxxxxx>

This patch adds the .txz and tar.xz formats into the build system.
This is needed for the C++ libraries since LLVM uses tar.xz
for their releases (http://releases.llvm.org/download.html).

Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@xxxxxxxxxxxxxxx>
---
 support/build/Makefile.rules | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/support/build/Makefile.rules b/support/build/Makefile.rules
index 36fb8db..999e17e 100644
--- a/support/build/Makefile.rules
+++ b/support/build/Makefile.rules
@@ -257,6 +257,14 @@ $(BUILD_DIR)/$(1)/.origin: $(2)
          $(TOUCH) $(BUILD_DIR)/$(1)/.origin)
 endef
 
+define _extracttoorigin_tgz_xz =
+$(BUILD_DIR)/$(1)/.origin: $(2)
+       $(call verbose_cmd,UNTAR,$(1)':' $(notdir $(2)), \
+         $(TAR) -xJf $(2) \
+                -C $(BUILD_DIR)/$(1)/origin && \
+         $(TOUCH) $(BUILD_DIR)/$(1)/.origin)
+endef
+
 define _extracttoorigin_zip =
 $(BUILD_DIR)/$(1)/.origin: $(2)
        $(call verbose_cmd,UNZIP,$(1)':' $(notdir $(2)), \
@@ -290,9 +298,10 @@ endef
 # unarchive $libname,$archive_fname,$dir_with_patches(optional)
 define unarchive =
 $(if $(filter %.tar.gz %.tgz,$(2)),$(call _extracttoorigin_tgz,$(1),$(2)),\
+$(if $(filter %.tar.xz %.txz,$(2)),$(call _extracttoorigin_tgz_xz,$(1),$(2)),\
 $(if $(filter %.zip,$(2)),$(call          _extracttoorigin_zip,$(1),$(2)),\
 $(error $(2): missing extraction rule for archive type)\
-))
+)))
 UK_FETCH-y += $(BUILD_DIR)/$(1)/.origin \
 $(eval $(call vprefix_lib,$(1),ORIGIN) = $(BUILD_DIR)/$(1)/origin)
 $(call mk_sub_build_dir,$(1)/origin)
-- 
2.20.1


_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.