Commit Message
This tool required to build more and more packages.
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
---
config/rootfiles/common/ninja | 1 +
lfs/ninja | 84 +++++++++++++++++++++++++++++++++++
2 files changed, 85 insertions(+)
create mode 100644 config/rootfiles/common/ninja
create mode 100644 lfs/ninja
Comments
Hello,
Excellent work.
I am not entirely sure if we might not need to move this a little bit up in make.sh, but we will see that as soon as more and more things have to be built with it. As far as I can see, we could even package these things for the toolchain, which I would like to avoid if we can.
Thank you for looking into this. Merged.
-Michael
> On 26 Dec 2020, at 17:47, Stefan Schantl <stefan.schantl@ipfire.org> wrote:
>
> This tool required to build more and more packages.
>
> Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
> ---
> config/rootfiles/common/ninja | 1 +
> lfs/ninja | 84 +++++++++++++++++++++++++++++++++++
> 2 files changed, 85 insertions(+)
> create mode 100644 config/rootfiles/common/ninja
> create mode 100644 lfs/ninja
>
> diff --git a/config/rootfiles/common/ninja b/config/rootfiles/common/ninja
> new file mode 100644
> index 000000000..f402add1b
> --- /dev/null
> +++ b/config/rootfiles/common/ninja
> @@ -0,0 +1 @@
> +#usr/bin/ninja
> diff --git a/lfs/ninja b/lfs/ninja
> new file mode 100644
> index 000000000..c968345f4
> --- /dev/null
> +++ b/lfs/ninja
> @@ -0,0 +1,84 @@
> +###############################################################################
> +# #
> +# IPFire.org - A linux based firewall #
> +# Copyright (C) 2007-2018 IPFire Team <info@ipfire.org> #
> +# #
> +# This program is free software: you can redistribute it and/or modify #
> +# it under the terms of the GNU General Public License as published by #
> +# the Free Software Foundation, either version 3 of the License, or #
> +# (at your option) any later version. #
> +# #
> +# This program is distributed in the hope that it will be useful, #
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of #
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
> +# GNU General Public License for more details. #
> +# #
> +# You should have received a copy of the GNU General Public License #
> +# along with this program. If not, see <http://www.gnu.org/licenses/>. #
> +# #
> +###############################################################################
> +
> +###############################################################################
> +# Definitions
> +###############################################################################
> +
> +include Config
> +
> +VER = 1.10.2
> +
> +THISAPP = ninja-$(VER)
> +DL_FILE = $(THISAPP).tar.gz
> +DL_FROM = $(URL_IPFIRE)
> +DIR_APP = $(DIR_SRC)/$(THISAPP)
> +TARGET = $(DIR_INFO)/$(THISAPP)
> +
> +###############################################################################
> +# Top-level Rules
> +###############################################################################
> +
> +objects = $(DL_FILE)
> +
> +$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
> +
> +$(DL_FILE)_MD5 = 639f75bc2e3b19ab893eaf2c810d4eb4
> +
> +install : $(TARGET)
> +
> +check : $(patsubst %,$(DIR_CHK)/%,$(objects))
> +
> +download :$(patsubst %,$(DIR_DL)/%,$(objects))
> +
> +md5 : $(subst %,%_MD5,$(objects))
> +
> +###############################################################################
> +# Downloading, checking, md5sum
> +###############################################################################
> +
> +$(patsubst %,$(DIR_CHK)/%,$(objects)) :
> + @$(CHECK)
> +
> +$(patsubst %,$(DIR_DL)/%,$(objects)) :
> + @$(LOAD)
> +
> +$(subst %,%_MD5,$(objects)) :
> + @$(MD5)
> +
> +###############################################################################
> +# Installation Details
> +###############################################################################
> +
> +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
> + @$(PREBUILD)
> + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
> +
> + # Configure and bootstrap the build environment
> + cd $(DIR_APP) && python3 configure.py --bootstrap --verbose
> +
> + # Build ninja
> + cd $(DIR_APP) && ./ninja -v all
> +
> + # Install ninja.
> + cd $(DIR_APP) && install -vm755 ninja /usr/bin/
> +
> + @rm -rf $(DIR_APP)
> + @$(POSTBUILD)
> --
> 2.20.1
>
new file mode 100644
@@ -0,0 +1 @@
+#usr/bin/ninja
new file mode 100644
@@ -0,0 +1,84 @@
+###############################################################################
+# #
+# IPFire.org - A linux based firewall #
+# Copyright (C) 2007-2018 IPFire Team <info@ipfire.org> #
+# #
+# This program is free software: you can redistribute it and/or modify #
+# it under the terms of the GNU General Public License as published by #
+# the Free Software Foundation, either version 3 of the License, or #
+# (at your option) any later version. #
+# #
+# This program is distributed in the hope that it will be useful, #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+# GNU General Public License for more details. #
+# #
+# You should have received a copy of the GNU General Public License #
+# along with this program. If not, see <http://www.gnu.org/licenses/>. #
+# #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER = 1.10.2
+
+THISAPP = ninja-$(VER)
+DL_FILE = $(THISAPP).tar.gz
+DL_FROM = $(URL_IPFIRE)
+DIR_APP = $(DIR_SRC)/$(THISAPP)
+TARGET = $(DIR_INFO)/$(THISAPP)
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_MD5 = 639f75bc2e3b19ab893eaf2c810d4eb4
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+md5 : $(subst %,%_MD5,$(objects))
+
+###############################################################################
+# Downloading, checking, md5sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+ @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+ @$(LOAD)
+
+$(subst %,%_MD5,$(objects)) :
+ @$(MD5)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+ @$(PREBUILD)
+ @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+
+ # Configure and bootstrap the build environment
+ cd $(DIR_APP) && python3 configure.py --bootstrap --verbose
+
+ # Build ninja
+ cd $(DIR_APP) && ./ninja -v all
+
+ # Install ninja.
+ cd $(DIR_APP) && install -vm755 ninja /usr/bin/
+
+ @rm -rf $(DIR_APP)
+ @$(POSTBUILD)