aboutsummaryrefslogtreecommitdiff
path: root/depends
diff options
context:
space:
mode:
Diffstat (limited to 'depends')
-rw-r--r--depends/Makefile4
-rw-r--r--depends/README.md4
-rw-r--r--depends/builders/default.mk3
-rw-r--r--depends/builders/openbsd.mk7
-rw-r--r--depends/funcs.mk6
-rw-r--r--depends/hosts/openbsd.mk31
-rw-r--r--depends/packages/bdb.mk1
-rw-r--r--depends/packages/boost.mk3
-rw-r--r--depends/packages/libevent.mk1
-rw-r--r--depends/packages/native_clang.mk2
-rw-r--r--depends/packages/native_libtapi.mk1
-rw-r--r--depends/packages/qt.mk6
-rw-r--r--depends/packages/sqlite.mk1
-rw-r--r--depends/packages/zeromq.mk1
-rw-r--r--depends/patches/boost/fix_openbsd_test_lib.patch38
15 files changed, 98 insertions, 11 deletions
diff --git a/depends/Makefile b/depends/Makefile
index 003778b375..573115d447 100644
--- a/depends/Makefile
+++ b/depends/Makefile
@@ -77,6 +77,7 @@ full_build_os:=$(subst $(build_arch)-$(build_vendor)-,,$(build))
build_os:=$(findstring linux,$(full_build_os))
build_os+=$(findstring darwin,$(full_build_os))
build_os+=$(findstring freebsd,$(full_build_os))
+build_os+=$(findstring openbsd,$(full_build_os))
build_os:=$(strip $(build_os))
ifeq ($(build_os),)
build_os=$(full_build_os)
@@ -88,6 +89,7 @@ full_host_os:=$(subst $(host_arch)-$(host_vendor)-,,$(canonical_host))
host_os:=$(findstring linux,$(full_host_os))
host_os+=$(findstring darwin,$(full_host_os))
host_os+=$(findstring freebsd,$(full_host_os))
+host_os+=$(findstring openbsd,$(full_host_os))
host_os+=$(findstring mingw32,$(full_host_os))
ifeq (android,$(findstring android,$(full_host_os)))
@@ -182,7 +184,7 @@ $(host_prefix)/.stamp_$(final_build_id): $(native_packages) $(packages)
mkdir -p $(@D)
echo copying packages: $^
echo to: $(@D)
- cd $(@D); $(foreach package,$^, tar xf $($(package)_cached); )
+ cd $(@D); $(foreach package,$^, $(build_TAR) xf $($(package)_cached); )
touch $@
# $PATH is not preserved between ./configure and make by convention. Its
diff --git a/depends/README.md b/depends/README.md
index 6b6af99dee..f7647198c6 100644
--- a/depends/README.md
+++ b/depends/README.md
@@ -84,6 +84,10 @@ For linux S390X cross compilation:
sudo apt-get install g++-s390x-linux-gnu binutils-s390x-linux-gnu
+### Install the required dependencies: OpenBSD
+
+ pkg_add bash gtar
+
### Dependency Options
The following can be set when running make: `make FOO=bar`
diff --git a/depends/builders/default.mk b/depends/builders/default.mk
index f097db65d6..0370fb9acb 100644
--- a/depends/builders/default.mk
+++ b/depends/builders/default.mk
@@ -1,6 +1,7 @@
default_build_CC = gcc
default_build_CXX = g++
default_build_AR = ar
+default_build_TAR = tar
default_build_RANLIB = ranlib
default_build_STRIP = strip
default_build_NM = nm
@@ -12,7 +13,7 @@ build_$(build_os)_$1 ?= $$(default_build_$1)
build_$(build_arch)_$(build_os)_$1 ?= $$(build_$(build_os)_$1)
build_$1=$$(build_$(build_arch)_$(build_os)_$1)
endef
-$(foreach var,CC CXX AR RANLIB NM STRIP SHA256SUM DOWNLOAD OTOOL INSTALL_NAME_TOOL,$(eval $(call add_build_tool_func,$(var))))
+$(foreach var,CC CXX AR TAR RANLIB NM STRIP SHA256SUM DOWNLOAD OTOOL INSTALL_NAME_TOOL,$(eval $(call add_build_tool_func,$(var))))
define add_build_flags_func
build_$(build_arch)_$(build_os)_$1 += $(build_$(build_os)_$1)
build_$1=$$(build_$(build_arch)_$(build_os)_$1)
diff --git a/depends/builders/openbsd.mk b/depends/builders/openbsd.mk
new file mode 100644
index 0000000000..44825d106a
--- /dev/null
+++ b/depends/builders/openbsd.mk
@@ -0,0 +1,7 @@
+build_openbsd_CC = clang
+build_openbsd_CXX = clang++
+
+build_openbsd_SHA256SUM = sha256
+build_openbsd_DOWNLOAD = curl --location --fail --connect-timeout $(DOWNLOAD_CONNECT_TIMEOUT) --retry $(DOWNLOAD_RETRIES) -o
+
+build_openbsd_TAR = gtar
diff --git a/depends/funcs.mk b/depends/funcs.mk
index 453d92cfb2..c4ad109c69 100644
--- a/depends/funcs.mk
+++ b/depends/funcs.mk
@@ -84,7 +84,7 @@ $(1)_download_path_fixed=$(subst :,\:,$$($(1)_download_path))
#default commands
# The default behavior for tar will try to set ownership when running as uid 0 and may not succeed, --no-same-owner disables this behavior
$(1)_fetch_cmds ?= $(call fetch_file,$(1),$(subst \:,:,$$($(1)_download_path_fixed)),$$($(1)_download_file),$($(1)_file_name),$($(1)_sha256_hash))
-$(1)_extract_cmds ?= mkdir -p $$($(1)_extract_dir) && echo "$$($(1)_sha256_hash) $$($(1)_source)" > $$($(1)_extract_dir)/.$$($(1)_file_name).hash && $(build_SHA256SUM) -c $$($(1)_extract_dir)/.$$($(1)_file_name).hash && tar --no-same-owner --strip-components=1 -xf $$($(1)_source)
+$(1)_extract_cmds ?= mkdir -p $$($(1)_extract_dir) && echo "$$($(1)_sha256_hash) $$($(1)_source)" > $$($(1)_extract_dir)/.$$($(1)_file_name).hash && $(build_SHA256SUM) -c $$($(1)_extract_dir)/.$$($(1)_file_name).hash && $(build_TAR) --no-same-owner --strip-components=1 -xf $$($(1)_source)
$(1)_preprocess_cmds ?=
$(1)_build_cmds ?=
$(1)_config_cmds ?=
@@ -207,7 +207,7 @@ $($(1)_preprocessed): | $($(1)_extracted)
touch $$@
$($(1)_configured): | $($(1)_dependencies) $($(1)_preprocessed)
echo Configuring $(1)...
- rm -rf $(host_prefix); mkdir -p $(host_prefix)/lib; cd $(host_prefix); $(foreach package,$($(1)_all_dependencies), tar --no-same-owner -xf $($(package)_cached); )
+ rm -rf $(host_prefix); mkdir -p $(host_prefix)/lib; cd $(host_prefix); $(foreach package,$($(1)_all_dependencies), $(build_TAR) --no-same-owner -xf $($(package)_cached); )
mkdir -p $$(@D)
+cd $$(@D); $($(1)_config_env) $(call $(1)_config_cmds, $(1))
touch $$@
@@ -228,7 +228,7 @@ $($(1)_postprocessed): | $($(1)_staged)
touch $$@
$($(1)_cached): | $($(1)_dependencies) $($(1)_postprocessed)
echo Caching $(1)...
- cd $$($(1)_staging_dir)/$(host_prefix); find . | sort | tar --no-recursion -czf $$($(1)_staging_dir)/$$(@F) -T -
+ cd $$($(1)_staging_dir)/$(host_prefix); find . | sort | $(build_TAR) --no-recursion -czf $$($(1)_staging_dir)/$$(@F) -T -
mkdir -p $$(@D)
rm -rf $$(@D) && mkdir -p $$(@D)
mv $$($(1)_staging_dir)/$$(@F) $$(@)
diff --git a/depends/hosts/openbsd.mk b/depends/hosts/openbsd.mk
new file mode 100644
index 0000000000..dc8393e04c
--- /dev/null
+++ b/depends/hosts/openbsd.mk
@@ -0,0 +1,31 @@
+openbsd_CFLAGS=-pipe
+openbsd_CFLAGS_CXXFLAGS=$(openbsd_CFLAGS)
+
+openbsd_CFLAGS_release_CFLAGS=-O2
+openbsd_CFLAGS_release_CXXFLAGS=$(openbsd_release_CFLAGS)
+
+openbsd_CFLAGS_debug_CFLAGS=-O1
+openbsd_CFLAGS_debug_CXXFLAGS=$(openbsd_debug_CFLAGS)
+
+ifeq (86,$(findstring 86,$(build_arch)))
+i686_openbsd_CC=clang -m32
+i686_openbsd_CXX=clang++ -m32
+i686_openbsd_AR=ar
+i686_openbsd_RANLIB=ranlib
+i686_openbsd_NM=nm
+i686_openbsd_STRIP=strip
+
+x86_64_openbsd_CC=clang -m64
+x86_64_openbsd_CXX=clang++ -m64
+x86_64_openbsd_AR=ar
+x86_64_openbsd_RANLIB=ranlib
+x86_64_openbsd_NM=nm
+x86_64_openbsd_STRIP=strip
+else
+i686_openbsd_CC=$(default_host_CC) -m32
+i686_openbsd_CXX=$(default_host_CXX) -m32
+x86_64_openbsd_CC=$(default_host_CC) -m64
+x86_64_openbsd_CXX=$(default_host_CXX) -m64
+endif
+
+openbsd_cmake_system=OpenBSD
diff --git a/depends/packages/bdb.mk b/depends/packages/bdb.mk
index 4e74c95a8e..95004f3a22 100644
--- a/depends/packages/bdb.mk
+++ b/depends/packages/bdb.mk
@@ -11,6 +11,7 @@ $(package)_config_opts=--disable-shared --enable-cxx --disable-replication --ena
$(package)_config_opts_mingw32=--enable-mingw
$(package)_config_opts_linux=--with-pic
$(package)_config_opts_freebsd=--with-pic
+$(package)_config_opts_openbsd=--with-pic
$(package)_config_opts_android=--with-pic
$(package)_cflags+=-Wno-error=implicit-function-declaration
$(package)_cxxflags+=-std=c++17
diff --git a/depends/packages/boost.mk b/depends/packages/boost.mk
index 2a2ff525f7..3c849b1e8d 100644
--- a/depends/packages/boost.mk
+++ b/depends/packages/boost.mk
@@ -4,6 +4,7 @@ $(package)_download_path=https://boostorg.jfrog.io/artifactory/main/release/$($(
$(package)_file_name=boost_$(subst .,_,$($(package)_version)).tar.bz2
$(package)_sha256_hash=d73a8da01e8bf8c7eda40b4c84915071a8c8a0df4a6734537ddde4a8580524ee
$(package)_dependencies=native_b2
+$(package)_patches=fix_openbsd_test_lib.patch
define $(package)_set_vars
$(package)_config_opts_release=variant=release
@@ -26,11 +27,13 @@ $(package)_config_libraries=test
$(package)_cxxflags+=-std=c++17
$(package)_cxxflags_linux=-fPIC
$(package)_cxxflags_freebsd=-fPIC
+$(package)_cxxflags_openbsd=-fPIC
$(package)_cxxflags_android=-fPIC
$(package)_cxxflags_x86_64=-fcf-protection=full
endef
define $(package)_preprocess_cmds
+ patch -p1 < $($(package)_patch_dir)/fix_openbsd_test_lib.patch && \
echo "using $($(package)_toolset_$(host_os)) : : $($(package)_cxx) : <cflags>\"$($(package)_cflags)\" <cxxflags>\"$($(package)_cxxflags)\" <compileflags>\"$($(package)_cppflags)\" <linkflags>\"$($(package)_ldflags)\" <archiver>\"$($(package)_ar)\" <striper>\"$(host_STRIP)\" <ranlib>\"$(host_RANLIB)\" <rc>\"$(host_WINDRES)\" : ;" > user-config.jam
endef
diff --git a/depends/packages/libevent.mk b/depends/packages/libevent.mk
index 2305f96d27..78850e583e 100644
--- a/depends/packages/libevent.mk
+++ b/depends/packages/libevent.mk
@@ -13,6 +13,7 @@ define $(package)_set_vars
$(package)_config_opts_release=--disable-debug-mode
$(package)_config_opts_linux=--with-pic
$(package)_config_opts_freebsd=--with-pic
+ $(package)_config_opts_openbsd=--with-pic
$(package)_config_opts_android=--with-pic
$(package)_cppflags_mingw32=-D_WIN32_WINNT=0x0601
endef
diff --git a/depends/packages/native_clang.mk b/depends/packages/native_clang.mk
index 25ac77c1a3..23c8139262 100644
--- a/depends/packages/native_clang.mk
+++ b/depends/packages/native_clang.mk
@@ -2,11 +2,9 @@ package=native_clang
$(package)_version=10.0.1
$(package)_download_path=https://github.com/llvm/llvm-project/releases/download/llvmorg-$($(package)_version)
ifneq (,$(findstring aarch64,$(BUILD)))
-$(package)_download_file=clang+llvm-$($(package)_version)-aarch64-linux-gnu.tar.xz
$(package)_file_name=clang+llvm-$($(package)_version)-aarch64-linux-gnu.tar.xz
$(package)_sha256_hash=90dc69a4758ca15cd0ffa45d07fbf5bf4309d47d2c7745a9f0735ecffde9c31f
else
-$(package)_download_file=clang+llvm-$($(package)_version)-x86_64-linux-gnu-ubuntu-16.04.tar.xz
$(package)_file_name=clang+llvm-$($(package)_version)-x86_64-linux-gnu-ubuntu-16.04.tar.xz
$(package)_sha256_hash=48b83ef827ac2c213d5b64f5ad7ed082c8bcb712b46644e0dc5045c6f462c231
endif
diff --git a/depends/packages/native_libtapi.mk b/depends/packages/native_libtapi.mk
index 60b898da5f..1633213a42 100644
--- a/depends/packages/native_libtapi.mk
+++ b/depends/packages/native_libtapi.mk
@@ -1,7 +1,6 @@
package=native_libtapi
$(package)_version=664b8414f89612f2dfd35a9b679c345aa5389026
$(package)_download_path=https://github.com/tpoechtrager/apple-libtapi/archive
-$(package)_download_file=$($(package)_version).tar.gz
$(package)_file_name=$($(package)_version).tar.gz
$(package)_sha256_hash=62e419c12d1c9fad67cc1cd523132bc00db050998337c734c15bc8d73cc02b61
diff --git a/depends/packages/qt.mk b/depends/packages/qt.mk
index 313b22218c..9cdfd21d2c 100644
--- a/depends/packages/qt.mk
+++ b/depends/packages/qt.mk
@@ -201,11 +201,11 @@ define $(package)_extract_cmds
echo "$($(package)_qttools_sha256_hash) $($(package)_source_dir)/$($(package)_qttools_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \
$(build_SHA256SUM) -c $($(package)_extract_dir)/.$($(package)_file_name).hash && \
mkdir qtbase && \
- tar --no-same-owner --strip-components=1 -xf $($(package)_source) -C qtbase && \
+ $(build_TAR) --no-same-owner --strip-components=1 -xf $($(package)_source) -C qtbase && \
mkdir qttranslations && \
- tar --no-same-owner --strip-components=1 -xf $($(package)_source_dir)/$($(package)_qttranslations_file_name) -C qttranslations && \
+ $(build_TAR) --no-same-owner --strip-components=1 -xf $($(package)_source_dir)/$($(package)_qttranslations_file_name) -C qttranslations && \
mkdir qttools && \
- tar --no-same-owner --strip-components=1 -xf $($(package)_source_dir)/$($(package)_qttools_file_name) -C qttools
+ $(build_TAR) --no-same-owner --strip-components=1 -xf $($(package)_source_dir)/$($(package)_qttools_file_name) -C qttools
endef
# Preprocessing steps work as follows:
diff --git a/depends/packages/sqlite.mk b/depends/packages/sqlite.mk
index 36b6df7f6e..94bc6dda79 100644
--- a/depends/packages/sqlite.mk
+++ b/depends/packages/sqlite.mk
@@ -8,6 +8,7 @@ define $(package)_set_vars
$(package)_config_opts=--disable-shared --disable-readline --disable-dynamic-extensions --enable-option-checking
$(package)_config_opts_linux=--with-pic
$(package)_config_opts_freebsd=--with-pic
+$(package)_config_opts_openbsd=--with-pic
endef
define $(package)_preprocess_cmds
diff --git a/depends/packages/zeromq.mk b/depends/packages/zeromq.mk
index c56ec5c2bd..2d8286ea36 100644
--- a/depends/packages/zeromq.mk
+++ b/depends/packages/zeromq.mk
@@ -13,6 +13,7 @@ define $(package)_set_vars
$(package)_config_opts += --disable-Werror --disable-drafts --enable-option-checking
$(package)_config_opts_linux=--with-pic
$(package)_config_opts_freebsd=--with-pic
+ $(package)_config_opts_openbsd=--with-pic
$(package)_config_opts_android=--with-pic
$(package)_cxxflags+=-std=c++17
endef
diff --git a/depends/patches/boost/fix_openbsd_test_lib.patch b/depends/patches/boost/fix_openbsd_test_lib.patch
new file mode 100644
index 0000000000..84351065a3
--- /dev/null
+++ b/depends/patches/boost/fix_openbsd_test_lib.patch
@@ -0,0 +1,38 @@
+commit 684f067dde3b798877655cdda4eab8d7c26b2510
+Author: George Koehler <kernigh@gmail.com>
+Date: Thu Oct 3 20:06:38 2019 -0400
+
+ OpenBSD is missing SI_ASYNCIO and SI_MESGQ
+
+ Check if SI_ASYNCIO and SI_MESGQ are defined as macros. This allows
+ to run tests on OpenBSD 6.5, where the macros are missing.
+
+ This is identical to patch-boost_test_impl_execution_monitor_ipp in
+ OpenBSD Ports, except that I added a comment.
+
+ Can be removed when we use Boost 1.72.x or later.
+
+diff --git a/boost/test/impl/execution_monitor.ipp b/boost/test/impl/execution_monitor.ipp
+index ccc44972..77a01e21 100644
+--- a/boost/test/impl/execution_monitor.ipp
++++ b/boost/test/impl/execution_monitor.ipp
+@@ -391,14 +391,19 @@ system_signal_exception::report() const
+ report_error( execution_exception::system_error,
+ "signal: the expiration of a timer set by timer_settimer()" );
+ break;
++// OpenBSD was missing SI_ASYNCIO and SI_MESGQ
++#ifdef SI_ASYNCIO
+ case SI_ASYNCIO:
+ report_error( execution_exception::system_error,
+ "signal: generated by the completion of an asynchronous I/O request" );
+ break;
++#endif
++#ifdef SI_MESGQ
+ case SI_MESGQ:
+ report_error( execution_exception::system_error,
+ "signal: generated by the the arrival of a message on an empty message queue" );
+ break;
++#endif
+ default:
+ break;
+ }