mirror of
https://github.com/outbackdingo/firezone.git
synced 2026-01-27 10:18:54 +00:00
Use nftables, omnibus building
This commit is contained in:
@@ -27,9 +27,9 @@ repos:
|
||||
- id: check-yaml
|
||||
- id: check-merge-conflict
|
||||
- id: end-of-file-fixer
|
||||
exclude: "^omnibus/config/patches/"
|
||||
exclude: "^omnibus/config/patches/*"
|
||||
- id: trailing-whitespace
|
||||
exclude: "^omnibus/config/patches/"
|
||||
exclude: "^omnibus/config/patches/*"
|
||||
- id: check-merge-conflict
|
||||
- id: no-commit-to-branch
|
||||
args: [-b, master, -b, develop]
|
||||
|
||||
11
omnibus/config/patches/bzip2/aix_makefile.patch
Normal file
11
omnibus/config/patches/bzip2/aix_makefile.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
--- bzip2-1.0.8/Makefile-libbz2_so.orig 2019-07-24 10:33:36.184131389 -0400
|
||||
+++ bzip2-1.0.8/Makefile-libbz2_so 2019-07-24 10:35:20.564277676 -0400
|
||||
@@ -35,7 +35,7 @@
|
||||
bzlib.o
|
||||
|
||||
all: $(OBJS)
|
||||
- $(CC) -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.8 $(OBJS)
|
||||
+ $(CC) -qmkshrobj -Wl,-soname -o libbz2.so.1.0.8 $(OBJS)
|
||||
$(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.8
|
||||
rm -f libbz2.so.1.0
|
||||
ln -s libbz2.so.1.0.8 libbz2.so.1.0
|
||||
77
omnibus/config/patches/bzip2/makefile_no_bins.patch
Normal file
77
omnibus/config/patches/bzip2/makefile_no_bins.patch
Normal file
@@ -0,0 +1,77 @@
|
||||
--- bzip2-1.0.8/Makefile-orig 2019-07-13 10:50:05.000000000 -0700
|
||||
+++ bzip2-1.0.8/Makefile 2020-08-14 16:35:23.000000000 -0700
|
||||
@@ -35,14 +35,11 @@
|
||||
decompress.o \
|
||||
bzlib.o
|
||||
|
||||
-all: libbz2.a bzip2 bzip2recover test
|
||||
+all: libbz2.a bzip2 test
|
||||
|
||||
bzip2: libbz2.a bzip2.o
|
||||
$(CC) $(CFLAGS) $(LDFLAGS) -o bzip2 bzip2.o -L. -lbz2
|
||||
|
||||
-bzip2recover: bzip2recover.o
|
||||
- $(CC) $(CFLAGS) $(LDFLAGS) -o bzip2recover bzip2recover.o
|
||||
-
|
||||
libbz2.a: $(OBJS)
|
||||
rm -f libbz2.a
|
||||
$(AR) cq libbz2.a $(OBJS)
|
||||
@@ -69,47 +66,19 @@
|
||||
cmp sample3.tst sample3.ref
|
||||
@cat words3
|
||||
|
||||
-install: bzip2 bzip2recover
|
||||
+install: bzip2
|
||||
if ( test ! -d $(PREFIX)/bin ) ; then mkdir -p $(PREFIX)/bin ; fi
|
||||
if ( test ! -d $(PREFIX)/lib ) ; then mkdir -p $(PREFIX)/lib ; fi
|
||||
if ( test ! -d $(PREFIX)/man ) ; then mkdir -p $(PREFIX)/man ; fi
|
||||
if ( test ! -d $(PREFIX)/man/man1 ) ; then mkdir -p $(PREFIX)/man/man1 ; fi
|
||||
if ( test ! -d $(PREFIX)/include ) ; then mkdir -p $(PREFIX)/include ; fi
|
||||
- cp -f bzip2 $(PREFIX)/bin/bzip2
|
||||
- cp -f bzip2 $(PREFIX)/bin/bunzip2
|
||||
- cp -f bzip2 $(PREFIX)/bin/bzcat
|
||||
- cp -f bzip2recover $(PREFIX)/bin/bzip2recover
|
||||
- chmod a+x $(PREFIX)/bin/bzip2
|
||||
- chmod a+x $(PREFIX)/bin/bunzip2
|
||||
- chmod a+x $(PREFIX)/bin/bzcat
|
||||
- chmod a+x $(PREFIX)/bin/bzip2recover
|
||||
- cp -f bzip2.1 $(PREFIX)/man/man1
|
||||
- chmod a+r $(PREFIX)/man/man1/bzip2.1
|
||||
cp -f bzlib.h $(PREFIX)/include
|
||||
chmod a+r $(PREFIX)/include/bzlib.h
|
||||
cp -f libbz2.a $(PREFIX)/lib
|
||||
chmod a+r $(PREFIX)/lib/libbz2.a
|
||||
- cp -f bzgrep $(PREFIX)/bin/bzgrep
|
||||
- ln -s -f $(PREFIX)/bin/bzgrep $(PREFIX)/bin/bzegrep
|
||||
- ln -s -f $(PREFIX)/bin/bzgrep $(PREFIX)/bin/bzfgrep
|
||||
- chmod a+x $(PREFIX)/bin/bzgrep
|
||||
- cp -f bzmore $(PREFIX)/bin/bzmore
|
||||
- ln -s -f $(PREFIX)/bin/bzmore $(PREFIX)/bin/bzless
|
||||
- chmod a+x $(PREFIX)/bin/bzmore
|
||||
- cp -f bzdiff $(PREFIX)/bin/bzdiff
|
||||
- ln -s -f $(PREFIX)/bin/bzdiff $(PREFIX)/bin/bzcmp
|
||||
- chmod a+x $(PREFIX)/bin/bzdiff
|
||||
- cp -f bzgrep.1 bzmore.1 bzdiff.1 $(PREFIX)/man/man1
|
||||
- chmod a+r $(PREFIX)/man/man1/bzgrep.1
|
||||
- chmod a+r $(PREFIX)/man/man1/bzmore.1
|
||||
- chmod a+r $(PREFIX)/man/man1/bzdiff.1
|
||||
- echo ".so man1/bzgrep.1" > $(PREFIX)/man/man1/bzegrep.1
|
||||
- echo ".so man1/bzgrep.1" > $(PREFIX)/man/man1/bzfgrep.1
|
||||
- echo ".so man1/bzmore.1" > $(PREFIX)/man/man1/bzless.1
|
||||
- echo ".so man1/bzdiff.1" > $(PREFIX)/man/man1/bzcmp.1
|
||||
|
||||
clean:
|
||||
- rm -f *.o libbz2.a bzip2 bzip2recover \
|
||||
+ rm -f *.o libbz2.a bzip2 \
|
||||
sample1.rb2 sample2.rb2 sample3.rb2 \
|
||||
sample1.tst sample2.tst sample3.tst
|
||||
|
||||
@@ -130,8 +99,6 @@
|
||||
$(CC) $(CFLAGS) -c bzlib.c
|
||||
bzip2.o: bzip2.c
|
||||
$(CC) $(CFLAGS) -c bzip2.c
|
||||
-bzip2recover.o: bzip2recover.c
|
||||
- $(CC) $(CFLAGS) -c bzip2recover.c
|
||||
|
||||
|
||||
distclean: clean
|
||||
31
omnibus/config/patches/bzip2/makefile_take_env_vars.patch
Normal file
31
omnibus/config/patches/bzip2/makefile_take_env_vars.patch
Normal file
@@ -0,0 +1,31 @@
|
||||
--- bzip2-1.0.6/Makefile-orig 2010-09-10 17:46:02.000000000 -0500
|
||||
+++ bzip2-1.0.6/Makefile 2013-11-21 13:55:11.000000000 -0600
|
||||
@@ -15,13 +15,13 @@
|
||||
|
||||
SHELL=/bin/sh
|
||||
|
||||
# To assist in cross-compiling
|
||||
-CC=gcc
|
||||
+CC?=gcc
|
||||
AR=ar
|
||||
RANLIB=ranlib
|
||||
-LDFLAGS=
|
||||
+LDFLAGS+=
|
||||
|
||||
-BIGFILES=-D_FILE_OFFSET_BITS=64
|
||||
+BIGFILES?=-D_FILE_OFFSET_BITS=64
|
||||
-CFLAGS=-Wall -Winline -O2 -g $(BIGFILES)
|
||||
+CFLAGS+=-Wall -Winline -O2 -g $(BIGFILES)
|
||||
|
||||
# Where you want it installed when you do 'make install'
|
||||
PREFIX=/usr/local
|
||||
--- bzip2-1.0.6/Makefile-libbz2_so-orig 2017-03-21 19:43:16.706849481 +0000
|
||||
+++ bzip2-1.0.6/Makefile-libbz2_so 2017-03-21 19:43:01.187851955 +0000
|
||||
@@ -22,7 +22,7 @@
|
||||
|
||||
|
||||
SHELL=/bin/sh
|
||||
-CC=gcc
|
||||
+CC?=gcc
|
||||
BIGFILES=-D_FILE_OFFSET_BITS=64
|
||||
CFLAGS=-fpic -fPIC -Wall -Winline -O2 -g $(BIGFILES)
|
||||
11
omnibus/config/patches/bzip2/soname_install_dir.patch
Normal file
11
omnibus/config/patches/bzip2/soname_install_dir.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
--- bzip2-1.0.8/Makefile-libbz2_so.orig 2019-07-24 10:33:36.184131389 -0400
|
||||
+++ bzip2-1.0.8/Makefile-libbz2_so 2019-07-24 10:38:15.700843785 -0400
|
||||
@@ -35,7 +35,7 @@
|
||||
bzlib.o
|
||||
|
||||
all: $(OBJS)
|
||||
- $(CC) -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.8 $(OBJS)
|
||||
+ $(CC) -shared -Wl,-install_name -Wl,libbz2.so.1.0 -o libbz2.so.1.0.8 $(OBJS)
|
||||
$(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.8
|
||||
rm -f libbz2.so.1.0
|
||||
ln -s libbz2.so.1.0.8 libbz2.so.1.0
|
||||
75
omnibus/config/patches/readline/8.1.patch
Normal file
75
omnibus/config/patches/readline/8.1.patch
Normal file
@@ -0,0 +1,75 @@
|
||||
*** ../readline-8.1-patched/bind.c 2020-10-26 10:03:14.000000000 -0400
|
||||
--- bind.c 2021-01-18 16:38:48.000000000 -0500
|
||||
***************
|
||||
*** 1235,1239 ****
|
||||
else if (_rl_strnicmp (args, "version", 7) == 0)
|
||||
{
|
||||
! int rlversion, versionarg, op, previ, major, minor;
|
||||
|
||||
_rl_parsing_conditionalized_out = 1;
|
||||
--- 1235,1239 ----
|
||||
else if (_rl_strnicmp (args, "version", 7) == 0)
|
||||
{
|
||||
! int rlversion, versionarg, op, previ, major, minor, opresult;
|
||||
|
||||
_rl_parsing_conditionalized_out = 1;
|
||||
***************
|
||||
*** 1295,1316 ****
|
||||
{
|
||||
case OP_EQ:
|
||||
! _rl_parsing_conditionalized_out = rlversion == versionarg;
|
||||
break;
|
||||
case OP_NE:
|
||||
! _rl_parsing_conditionalized_out = rlversion != versionarg;
|
||||
break;
|
||||
case OP_GT:
|
||||
! _rl_parsing_conditionalized_out = rlversion > versionarg;
|
||||
break;
|
||||
case OP_GE:
|
||||
! _rl_parsing_conditionalized_out = rlversion >= versionarg;
|
||||
break;
|
||||
case OP_LT:
|
||||
! _rl_parsing_conditionalized_out = rlversion < versionarg;
|
||||
break;
|
||||
case OP_LE:
|
||||
! _rl_parsing_conditionalized_out = rlversion <= versionarg;
|
||||
break;
|
||||
}
|
||||
}
|
||||
/* Check to see if the first word in ARGS is the same as the
|
||||
--- 1295,1317 ----
|
||||
{
|
||||
case OP_EQ:
|
||||
! opresult = rlversion == versionarg;
|
||||
break;
|
||||
case OP_NE:
|
||||
! opresult = rlversion != versionarg;
|
||||
break;
|
||||
case OP_GT:
|
||||
! opresult = rlversion > versionarg;
|
||||
break;
|
||||
case OP_GE:
|
||||
! opresult = rlversion >= versionarg;
|
||||
break;
|
||||
case OP_LT:
|
||||
! opresult = rlversion < versionarg;
|
||||
break;
|
||||
case OP_LE:
|
||||
! opresult = rlversion <= versionarg;
|
||||
break;
|
||||
}
|
||||
+ _rl_parsing_conditionalized_out = 1 - opresult;
|
||||
}
|
||||
/* Check to see if the first word in ARGS is the same as the
|
||||
|
||||
*** ../readline-8.1/patchlevel 2013-11-15 08:11:11.000000000 -0500
|
||||
--- patchlevel 2014-03-21 08:28:40.000000000 -0400
|
||||
***************
|
||||
*** 1,3 ****
|
||||
# Do not edit -- exists only for use by patch
|
||||
|
||||
! 0
|
||||
--- 1,3 ----
|
||||
# Do not edit -- exists only for use by patch
|
||||
|
||||
! 1
|
||||
@@ -16,7 +16,7 @@
|
||||
# expeditor/ignore: deprecated 2021-04
|
||||
|
||||
name "autoconf"
|
||||
default_version "2.69"
|
||||
default_version "2.71"
|
||||
|
||||
license "GPL-3.0"
|
||||
license_file "COPYING"
|
||||
@@ -26,6 +26,7 @@ skip_transitive_dependency_licensing true
|
||||
dependency "m4"
|
||||
|
||||
version("2.69") { source sha256: "954bd69b391edc12d6a4a51a2dd1476543da5c6bbf05a95b59dc0dd6fd4c2969" }
|
||||
version("2.71") { source sha256: "431075ad0bf529ef13cb41e9042c542381103e80015686222b8a9d4abef42a1c" }
|
||||
|
||||
source url: "https://ftp.gnu.org/gnu/autoconf/autoconf-#{version}.tar.gz"
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
# expeditor/ignore: deprecated 2021-04
|
||||
|
||||
name "automake"
|
||||
default_version "1.16"
|
||||
default_version "1.16.4"
|
||||
|
||||
dependency "autoconf"
|
||||
dependency "perl-thread-queue"
|
||||
@@ -25,6 +25,7 @@ license "GPL-2.0"
|
||||
license_file "COPYING"
|
||||
skip_transitive_dependency_licensing true
|
||||
|
||||
version("1.16.4") { source sha256: "8a0f0be7aaae2efa3a68482af28e5872d8830b9813a6a932a2571eac63ca1794" }
|
||||
version("1.16") { source sha256: "80da43bb5665596ee389e6d8b64b4f122ea4b92a685b1dbd813cd1f0e0c2d83f" }
|
||||
version("1.15") { source sha256: "7946e945a96e28152ba5a6beb0625ca715c6e32ac55f2e353ef54def0c8ed924" }
|
||||
version("1.11.2") { source sha256: "c339e3871d6595620760725da61de02cf1c293af8a05b14592d6587ac39ce546" }
|
||||
|
||||
55
omnibus/config/software/bzip2.rb
Normal file
55
omnibus/config/software/bzip2.rb
Normal file
@@ -0,0 +1,55 @@
|
||||
#
|
||||
# Copyright 2013-2018 Chef Software, Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
# Install bzip2 and its shared library, libbz2.so
|
||||
# This library object is required for building Python with the bz2 module,
|
||||
# and should be picked up automatically when building Python.
|
||||
|
||||
name "bzip2"
|
||||
default_version "1.0.8"
|
||||
|
||||
license "BSD-2-Clause"
|
||||
license_file "LICENSE"
|
||||
skip_transitive_dependency_licensing true
|
||||
|
||||
dependency "zlib"
|
||||
dependency "openssl"
|
||||
|
||||
# version_list: url=https://sourceware.org/pub/bzip2/ filter=*.tar.gz
|
||||
version("1.0.8") { source sha256: "ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269" }
|
||||
|
||||
source url: "https://fossies.org/linux/misc/#{name}-#{version}.tar.gz"
|
||||
|
||||
relative_path "#{name}-#{version}"
|
||||
|
||||
build do
|
||||
env = with_standard_compiler_flags(with_embedded_path)
|
||||
|
||||
# Avoid warning where .rodata cannot be used when making a shared object
|
||||
env["CFLAGS"] << " -fPIC" unless aix?
|
||||
|
||||
# The list of arguments to pass to make
|
||||
args = "PREFIX='#{install_dir}/embedded' VERSION='#{version}'"
|
||||
args << " CFLAGS='-qpic=small -qpic=large -O2 -g -D_ALL_SOURCE -D_LARGE_FILES'" if aix?
|
||||
|
||||
patch source: "makefile_take_env_vars.patch", plevel: 1, env: env
|
||||
patch source: "makefile_no_bins.patch", plevel: 1, env: env # removes various binaries we don't want to ship
|
||||
patch source: "soname_install_dir.patch", env: env if mac_os_x?
|
||||
patch source: "aix_makefile.patch", env: env if aix?
|
||||
|
||||
make "#{args}", env: env
|
||||
make "#{args} -f Makefile-libbz2_so", env: env
|
||||
make "#{args} install", env: env
|
||||
end
|
||||
@@ -19,19 +19,24 @@ name "compile_release"
|
||||
description "the steps required to compile the firezone elixir application"
|
||||
default_version "1.0.0"
|
||||
|
||||
dependency "postgresql"
|
||||
dependency "nodejs"
|
||||
dependency "elixir"
|
||||
|
||||
source path: File.expand_path("../", Omnibus::Config.project_root),
|
||||
options: { exclude: [
|
||||
".env",
|
||||
".git",
|
||||
".ci",
|
||||
".vagrant",
|
||||
".github",
|
||||
"_build",
|
||||
"deps",
|
||||
"apps/fz_http/assets/node_modules"
|
||||
] }
|
||||
version("1.0.0") do
|
||||
source path: File.expand_path("../", Omnibus::Config.project_root),
|
||||
options: { exclude: [
|
||||
".env",
|
||||
".git",
|
||||
".ci",
|
||||
".vagrant",
|
||||
".github",
|
||||
"_build",
|
||||
"deps",
|
||||
"omnibus",
|
||||
"apps/fz_http/assets/node_modules"
|
||||
] }
|
||||
end
|
||||
|
||||
license :project_license
|
||||
skip_transitive_dependency_licensing true
|
||||
|
||||
@@ -20,6 +20,20 @@ license_file "COPYING"
|
||||
|
||||
default_version "0.21"
|
||||
|
||||
dependency "m4"
|
||||
dependency "autoconf"
|
||||
dependency "automake"
|
||||
dependency "bison"
|
||||
dependency "perl"
|
||||
dependency "libiconv"
|
||||
dependency "ncurses"
|
||||
dependency "bzip2"
|
||||
dependency "zlib"
|
||||
dependency "libxml2"
|
||||
dependency "liblzma"
|
||||
dependency "icu"
|
||||
dependency "pkg-config"
|
||||
|
||||
source url: "https://ftp.gnu.org/pub/gnu/gettext/gettext-#{version}.tar.gz"
|
||||
version("0.21") do
|
||||
source sha256: "c77d0da3102aec9c07f43671e60611ebff89a996ef159497ce8e59d075786b12"
|
||||
@@ -29,8 +43,14 @@ relative_path "#{name}-#{version}"
|
||||
|
||||
build do
|
||||
env = with_standard_compiler_flags(with_embedded_path)
|
||||
configure_command = [
|
||||
"./configure",
|
||||
# Enabling OpenMP requires libgomp, which requires building gcc which is very slow.
|
||||
"--disable-openmp",
|
||||
"--prefix=#{install_dir}/embedded"
|
||||
]
|
||||
|
||||
command "./configure --prefix=#{install_dir}/embedded", env: env
|
||||
command configure_command, env: env
|
||||
make "-j #{workers}", env: env
|
||||
make "-j #{workers} install", env: env
|
||||
end
|
||||
|
||||
20
omnibus/config/software/icu.rb
Normal file
20
omnibus/config/software/icu.rb
Normal file
@@ -0,0 +1,20 @@
|
||||
name "icu"
|
||||
license_file "LICENSE"
|
||||
skip_transitive_dependency_licensing true
|
||||
default_version "69.1"
|
||||
|
||||
source url: "https://github.com/unicode-org/icu/releases/download/release-#{version.gsub(".", "-")}/icu4c-#{version.gsub(".", "_")}-src.tgz"
|
||||
version("69.1") do
|
||||
source sha256: "4cba7b7acd1d3c42c44bb0c14be6637098c7faf2b330ce876bc5f3b915d09745"
|
||||
end
|
||||
|
||||
relative_path "icu/source"
|
||||
|
||||
build do
|
||||
env = with_standard_compiler_flags(with_embedded_path)
|
||||
|
||||
command "./configure --prefix=#{install_dir}/embedded", env: env
|
||||
|
||||
make "-j #{workers}", env: env
|
||||
make "-j #{workers} install", env: env
|
||||
end
|
||||
@@ -15,7 +15,7 @@
|
||||
#
|
||||
|
||||
name "libedit"
|
||||
default_version "20120601-3.0"
|
||||
default_version "20210419-3.1"
|
||||
|
||||
license "BSD-3-Clause"
|
||||
license_file "COPYING"
|
||||
|
||||
58
omnibus/config/software/liblzma.rb
Normal file
58
omnibus/config/software/liblzma.rb
Normal file
@@ -0,0 +1,58 @@
|
||||
#
|
||||
# Copyright 2014-2018 Chef Software, Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
name "liblzma"
|
||||
default_version "5.2.5"
|
||||
|
||||
license "Public-Domain"
|
||||
license_file "COPYING"
|
||||
skip_transitive_dependency_licensing true
|
||||
|
||||
# version_list: url=http://tukaani.org/xz/ filer=*.tar.gz
|
||||
|
||||
version("5.2.5") { source sha256: "f6f4910fd033078738bd82bfba4f49219d03b17eb0794eb91efbae419f4aba10" }
|
||||
version("5.2.4") { source sha256: "b512f3b726d3b37b6dc4c8570e137b9311e7552e8ccbab4d39d47ce5f4177145" }
|
||||
version("5.2.3") { source sha256: "71928b357d0a09a12a4b4c5fafca8c31c19b0e7d3b8ebb19622e96f26dbf28cb" }
|
||||
version("5.2.2") { source sha256: "73df4d5d34f0468bd57d09f2d8af363e95ed6cc3a4a86129d2f2c366259902a2" }
|
||||
|
||||
source url: "http://tukaani.org/xz/xz-#{version}.tar.gz"
|
||||
|
||||
relative_path "xz-#{version}"
|
||||
|
||||
build do
|
||||
env = with_standard_compiler_flags(with_embedded_path)
|
||||
# liblzma properly uses CFLAGS for C compilation and CPPFLAGS for common
|
||||
# flags used across tools such as windres. Don't put anything in it
|
||||
# that can be misinterpreted by windres.
|
||||
env["CPPFLAGS"] = "-I#{install_dir}/embedded/include" if windows?
|
||||
|
||||
config_command = [
|
||||
"--disable-debug",
|
||||
"--disable-dependency-tracking",
|
||||
"--disable-doc",
|
||||
"--disable-scripts",
|
||||
"--disable-lzma-links",
|
||||
"--disable-lzmainfo",
|
||||
"--disable-lzmadec",
|
||||
"--disable-xzdec",
|
||||
"--disable-xz",
|
||||
]
|
||||
config_command << "--disable-nls" if windows?
|
||||
|
||||
configure(*config_command, env: env)
|
||||
|
||||
make "install", env: env
|
||||
end
|
||||
61
omnibus/config/software/libxml2.rb
Normal file
61
omnibus/config/software/libxml2.rb
Normal file
@@ -0,0 +1,61 @@
|
||||
#
|
||||
# Copyright:: Chef Software Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
name "libxml2"
|
||||
default_version "2.9.10" # 2.9.12 is not properly building as of 5.20.21
|
||||
|
||||
license "MIT"
|
||||
license_file "COPYING"
|
||||
skip_transitive_dependency_licensing true
|
||||
|
||||
dependency "zlib"
|
||||
dependency "liblzma"
|
||||
dependency "config_guess"
|
||||
|
||||
# version_list: url=ftp://xmlsoft.org/libxml2/ filter=libxml2-*.tar.gz
|
||||
version("2.9.12") { source sha256: "c8d6681e38c56f172892c85ddc0852e1fd4b53b4209e7f4ebf17f7e2eae71d92" }
|
||||
version("2.9.10") { source sha256: "aafee193ffb8fe0c82d4afef6ef91972cbaf5feea100edc2f262750611b4be1f" }
|
||||
version("2.9.9") { source sha256: "94fb70890143e3c6549f265cee93ec064c80a84c42ad0f23e85ee1fd6540a871" }
|
||||
|
||||
source url: "ftp://xmlsoft.org/libxml2/libxml2-#{version}.tar.gz"
|
||||
|
||||
relative_path "libxml2-#{version}"
|
||||
|
||||
build do
|
||||
env = with_standard_compiler_flags(with_embedded_path)
|
||||
|
||||
configure_command = [
|
||||
"--with-zlib=#{install_dir}/embedded",
|
||||
"--with-lzma=#{install_dir}/embedded",
|
||||
"--with-sax1", # required for nokogiri to compile
|
||||
"--without-iconv",
|
||||
"--without-python",
|
||||
"--without-icu",
|
||||
"--without-debug",
|
||||
"--without-mem-debug",
|
||||
"--without-run-debug",
|
||||
"--without-legacy", # we don't need legacy interfaces
|
||||
"--without-catalog",
|
||||
"--without-docbook",
|
||||
]
|
||||
|
||||
update_config_guess
|
||||
|
||||
configure(*configure_command, env: env)
|
||||
|
||||
make "-j #{workers}", env: env
|
||||
make "install", env: env
|
||||
end
|
||||
@@ -1,6 +1,6 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
# Copyright FireZone
|
||||
# Copyright 2012-2014 FireZone
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -15,23 +15,21 @@
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
name "readline"
|
||||
default_version "8.1"
|
||||
name "linenoise"
|
||||
description "A small self-contained alternative to readline and libedit"
|
||||
|
||||
license "GPL-3.0"
|
||||
license_file "COPYING"
|
||||
license_file "LICENSE"
|
||||
skip_transitive_dependency_licensing true
|
||||
|
||||
version("8.1") { source sha256: "f8ceb4ee131e3232226a17f51b164afc46cd0b9e6cef344be87c65962cb82b02" }
|
||||
|
||||
source url: "https://ftp.gnu.org/gnu/readline/readline-#{version}.tar.gz"
|
||||
|
||||
relative_path "#{name}-#{version}"
|
||||
source github: "antirez/linenoise"
|
||||
default_version "master"
|
||||
|
||||
build do
|
||||
env = with_standard_compiler_flags(with_embedded_path)
|
||||
|
||||
command "./configure --prefix=#{install_dir}/embedded", env: env
|
||||
make "-j #{workers}", env: env
|
||||
make "-j #{workers} install", env: env
|
||||
command "gcc -c linenoise.c -o linenoise.o -fPIC", env: env
|
||||
command "gcc -shared -o liblinenoise.so linenoise.o -lm", env: env
|
||||
|
||||
copy "liblinenoise.so", "#{install_dir}/embedded/lib/"
|
||||
copy "linenoise.h", "#{install_dir}/embedded/include/"
|
||||
end
|
||||
@@ -15,11 +15,15 @@
|
||||
# limitations under the License.
|
||||
#
|
||||
name "nftables"
|
||||
default_version "0.9.9"
|
||||
|
||||
source url: "https://www.netfilter.org/pub/nftables/nftables-#{version}.tar.bz2"
|
||||
license_file "COPYING"
|
||||
|
||||
version("0.9.9") { source sha256: "76ef2dc7fd0d79031a8369487739a217ca83996b3a746cec5bda79da11e3f1b4" }
|
||||
# Some weirdness in the official release package so use git and switch to tag
|
||||
# default_version "0.9.9"
|
||||
# source url: "https://www.netfilter.org/pub/nftables/nftables-#{version}.tar.bz2"
|
||||
# version("0.9.9") { source sha256: "76ef2dc7fd0d79031a8369487739a217ca83996b3a746cec5bda79da11e3f1b4" }
|
||||
source git: "git://git.netfilter.org/nftables"
|
||||
default_version "v0.9.9"
|
||||
|
||||
relative_path "#{name}-#{version}"
|
||||
|
||||
@@ -29,15 +33,21 @@ dependency "bison"
|
||||
dependency "flex"
|
||||
dependency "libmnl"
|
||||
dependency "libnftnl"
|
||||
dependency "ncurses"
|
||||
dependency "libtool"
|
||||
dependency "readline"
|
||||
dependency "linenoise"
|
||||
dependency "pkg-config"
|
||||
|
||||
build do
|
||||
env = with_standard_compiler_flags(with_embedded_path)
|
||||
update_config_guess
|
||||
command "./configure --prefix=#{install_dir}/embedded", env: env
|
||||
configure_cmd = [
|
||||
"./configure",
|
||||
"--prefix=#{install_dir}/embedded",
|
||||
"--disable-debug",
|
||||
"--disable-man-doc",
|
||||
"--with-cli=linenoise" # readline seems to fail to be detected and libedit fails with missing "editline/history.h"
|
||||
]
|
||||
command "./autogen.sh", env: env
|
||||
command configure_cmd.join(" "), env: env
|
||||
make "-j #{workers}", env: env
|
||||
make "-j #{workers} install", env: env
|
||||
end
|
||||
|
||||
22
omnibus/config/software/nodejs.rb
Normal file
22
omnibus/config/software/nodejs.rb
Normal file
@@ -0,0 +1,22 @@
|
||||
name "nodejs"
|
||||
description "NodeJS"
|
||||
default_version "16.6.2"
|
||||
license_file "LICENSE"
|
||||
|
||||
source url: "https://github.com/nodejs/node/archive/refs/tags/v#{version}.tar.gz"
|
||||
|
||||
version("16.6.2") do
|
||||
source sha256: "9b539b1ea5e3fbd173fcbaae97088401b228c36c2076c98d04c73802713bbb73"
|
||||
end
|
||||
|
||||
dependency "python"
|
||||
|
||||
relative_path "node-#{version}"
|
||||
|
||||
build do
|
||||
env = with_standard_compiler_flags(with_embedded_path)
|
||||
|
||||
command "./configure --prefix=#{install_dir}/embedded", env: env
|
||||
make "-j #{workers}", env: env
|
||||
make "-j #{workers} install", env: env
|
||||
end
|
||||
26
omnibus/config/software/python.rb
Normal file
26
omnibus/config/software/python.rb
Normal file
@@ -0,0 +1,26 @@
|
||||
name "python"
|
||||
description "Python"
|
||||
default_version "3.9.6"
|
||||
license_file "LICENSE"
|
||||
skip_transitive_dependency_licensing true
|
||||
|
||||
source url: "https://www.python.org/ftp/python/#{version}/Python-#{version}.tgz"
|
||||
|
||||
version("3.9.6") do
|
||||
source sha256: "d0a35182e19e416fc8eae25a3dcd4d02d4997333e4ad1f2eee6010aadc3fe866"
|
||||
end
|
||||
|
||||
dependency "bzip2"
|
||||
dependency "zlib"
|
||||
dependency "openssl"
|
||||
dependency "ncurses"
|
||||
|
||||
relative_path "Python-#{version}"
|
||||
|
||||
build do
|
||||
env = with_standard_compiler_flags(with_embedded_path)
|
||||
|
||||
command "./configure --prefix=#{install_dir}/embedded", env: env
|
||||
make "-j #{workers}", env: env
|
||||
make "-j #{workers} install", env: env
|
||||
end
|
||||
@@ -14,7 +14,7 @@
|
||||
#
|
||||
# Uncomment this line to change the default base directory to "local"
|
||||
# -------------------------------------------------------------------
|
||||
base_dir("./local")
|
||||
base_dir("/tmp/omnibus-local")
|
||||
#
|
||||
# Alternatively you can tune the individual values
|
||||
# ------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user