Wladimir J. van der Laan
11 years ago
49 changed files with 4992 additions and 0 deletions
@ -0,0 +1,5 @@
@@ -0,0 +1,5 @@
|
||||
SDKs/ |
||||
work/ |
||||
built/ |
||||
sources/ |
||||
config.site |
@ -0,0 +1,114 @@
@@ -0,0 +1,114 @@
|
||||
.NOTPARALLEL : |
||||
|
||||
SOURCES_PATH ?= $(BASEDIR)/sources |
||||
BASE_CACHE ?= $(BASEDIR)/built |
||||
SDK_PATH ?= $(BASEDIR)/SDKs |
||||
NO_QT ?= |
||||
NO_WALLET ?= |
||||
NO_UPNP ?= |
||||
|
||||
BUILD = $(shell ./config.guess) |
||||
HOST ?= $(BUILD) |
||||
PATCHES_PATH = $(BASEDIR)/patches |
||||
BASEDIR = $(CURDIR) |
||||
HASH_LENGTH:=11 |
||||
|
||||
host:=$(BUILD) |
||||
ifneq ($(HOST),) |
||||
host:=$(HOST) |
||||
host_toolchain:=$(HOST)- |
||||
endif |
||||
|
||||
base_build_dir=$(BASEDIR)/work/build |
||||
base_staging_dir=$(BASEDIR)/work/staging |
||||
canonical_host:=$(shell ./config.sub $(HOST)) |
||||
build:=$(shell ./config.sub $(BUILD)) |
||||
|
||||
build_arch =$(firstword $(subst -, ,$(build))) |
||||
build_vendor=$(word 2,$(subst -, ,$(build))) |
||||
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:=$(strip $(build_os)) |
||||
ifeq ($(build_os),) |
||||
build_os=$(full_build_os) |
||||
endif |
||||
|
||||
host_arch=$(firstword $(subst -, ,$(canonical_host))) |
||||
host_vendor=$(word 2,$(subst -, ,$(canonical_host))) |
||||
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 mingw32,$(full_host_os)) |
||||
host_os:=$(strip $(host_os)) |
||||
ifeq ($(host_os),) |
||||
host_os=$(full_host_os) |
||||
endif |
||||
|
||||
$(host_arch)_$(host_os)_prefix=$(BASEDIR)/$(host) |
||||
$(host_arch)_$(host_os)_host=$(host) |
||||
host_prefix=$($(host_arch)_$(host_os)_prefix) |
||||
build_prefix=$(host_prefix)/native |
||||
build_host=$(build) |
||||
|
||||
AT_$(V):= |
||||
AT_:=@ |
||||
AT:=$(AT_$(V)) |
||||
|
||||
all: install |
||||
|
||||
include hosts/$(host_os).mk |
||||
include hosts/default.mk |
||||
include builders/$(build_os).mk |
||||
include builders/default.mk |
||||
include packages/packages.mk |
||||
|
||||
qt_packages_$(NO_QT) = $(qt_packages) $(qt_$(host_os)_packages) |
||||
qt_native_packages_$(NO_QT) = $(qt_native_packages) |
||||
wallet_packages_$(NO_WALLET) = $(wallet_packages) |
||||
upnp_packages_$(NO_UPNP) = $(upnp_packages) |
||||
|
||||
packages += $($(host_arch)_$(host_os)_packages) $($(host_os)_packages) $(qt_packages_) $(wallet_packages_) $(upnp_packages_) |
||||
native_packages += $($(host_arch)_$(host_os)_native_packages) $($(host_os)_native_packages) $(qt_native_packages_) |
||||
all_packages = $(packages) $(native_packages) |
||||
|
||||
meta_depends = Makefile builders/default.mk hosts/default.mk hosts/$(host_os).mk builders/$(build_os).mk |
||||
|
||||
$(host_arch)_$(host_os)_native_toolchain?=$($(host_os)_native_toolchain) |
||||
|
||||
include funcs.mk |
||||
|
||||
toolchain_path=$($($(host_arch)_$(host_os)_native_toolchain)_prefixbin) |
||||
final_build_id_long+=$(shell $(build_SHA256SUM) config.site.in) |
||||
final_build_id+=$(shell echo -n $(final_build_id_long) | $(build_SHA256SUM) | cut -c-$(HASH_LENGTH)) |
||||
$(host_prefix)/.stamp_$(final_build_id): | $(native_packages) $(packages) |
||||
$(AT)rm -rf $(@D) |
||||
$(AT)mkdir -p $(@D) |
||||
$(AT)echo copying packages: $| |
||||
$(AT)echo to: $(@D) |
||||
$(AT)cd $(@D); $(foreach package,$|, tar xf $($(package)_cached); ) |
||||
$(AT)touch $@ |
||||
|
||||
$(host_prefix)/share/config.site : config.site.in $(host_prefix)/.stamp_$(final_build_id) |
||||
$(AT)@mkdir -p $(@D) |
||||
$(AT)sed -e 's|@HOST@|$(host)|' \
|
||||
-e 's|@CC@|$(toolchain_path)$(host_CC)|' \
|
||||
-e 's|@CXX@|$(toolchain_path)$(host_CXX)|' \
|
||||
-e 's|@AR@|$(toolchain_path)$(host_AR)|' \
|
||||
-e 's|@RANLIB@|$(toolchain_path)$(host_RANLIB)|' \
|
||||
-e 's|@NM@|$(toolchain_path)$(host_NM)|' \
|
||||
-e 's|@STRIP@|$(toolchain_path)$(host_STRIP)|' \
|
||||
-e 's|@build_os@|$(build_os)|' \
|
||||
-e 's|@host_os@|$(host_os)|' \
|
||||
-e 's|@CFLAGS@|$(host_CFLAGS)|' \
|
||||
-e 's|@CXXFLAGS@|$(host_CXXFLAGS)|' \
|
||||
-e 's|@LDFLAGS@|$(host_LDFLAGS)|' \
|
||||
-e 's|@no_qt@|$(NO_QT)|' \
|
||||
-e 's|@no_wallet@|$(NO_WALLET)|' \
|
||||
-e 's|@no_upnp@|$(NO_UPNP)|' \
|
||||
$< > $@ |
||||
$(AT)touch $@ |
||||
|
||||
install: $(host_prefix)/share/config.site |
||||
download: $(all_sources) |
||||
.PHONY: install cached |
@ -0,0 +1,55 @@
@@ -0,0 +1,55 @@
|
||||
This is a system of building and caching dependencies necessary for building |
||||
Bitcoin. |
||||
|
||||
There are several features that make it different from most similar systems: |
||||
|
||||
- It is designed to be builder and host agnostic |
||||
|
||||
In theory, binaries for any target OS/architecture can be created, from a |
||||
builder running any OS/architecture. In practice, build-side tools must be |
||||
specified when the defaults don't fit, and packages must be ammended to work |
||||
on new hosts. For now, a build architecture of x86_64 is assumed, either on |
||||
Linux or OSX. |
||||
|
||||
- No reliance on timestamps |
||||
|
||||
File presence is used to determine what needs to be built. This makes the |
||||
results distributable and easily digestable by automated builders. |
||||
|
||||
- Each build only has its specified dependencies available at build-time. |
||||
|
||||
For each build, the sysroot is wiped and the (recursive) dependencies are |
||||
installed. This makes each build deterministic, since there will never be any |
||||
unknown files available to cause side-effects. |
||||
|
||||
- Each package is cached and only rebuilt as needed. |
||||
|
||||
Before building, a unique build-id is generated for each package. This id |
||||
consists of a hash of all files used to build the package (Makefiles, packages, |
||||
etc), and as well as a hash of the same data for each recursive dependency. If |
||||
any portion of a package's build recipe changes, it will be rebuilt as well as |
||||
any other package that depends on it. If any of the main makefiles (Makefile, |
||||
funcs.mk, etc) are changed, all packages will be rebuilt. After building, the |
||||
results are cached into a tarball that can be re-used and distributed. |
||||
|
||||
- Package build results are (relatively) deterministic. |
||||
|
||||
Each package is configured and patched so that it will yield the same |
||||
build-results with each consequent build, within a reasonable set of |
||||
constraints. Some things like timestamp insertion are unavoidable, and are |
||||
beyond the scope of this system. Additionally, the toolchain itself must be |
||||
capable of deterministic results. When revisions are properly bumped, a cached |
||||
build should represent an exact single payload. |
||||
|
||||
- Sources are fetched and verified automatically |
||||
|
||||
Each package must define its source location and checksum. The build will fail |
||||
if the fetched source does not match. Sources may be pre-seeded and/or cached |
||||
as desired. |
||||
|
||||
- Self-cleaning |
||||
|
||||
Build and staging dirs are wiped after use, and any previous version of a |
||||
cached result is removed following a successful build. Automated builders |
||||
should be able to build each revision and store the results with no further |
||||
intervention. |
@ -0,0 +1,116 @@
@@ -0,0 +1,116 @@
|
||||
Each recipe consists of 3 main parts: defining identifiers, setting build |
||||
variables, and defining build commands. |
||||
|
||||
The package "mylib" will be used here as an example |
||||
|
||||
General tips: |
||||
mylib_foo is written as $(package)_foo in order to make recipes more similar. |
||||
|
||||
Identifiers: |
||||
Each package is required to define at least these variables: |
||||
$(package)_version: |
||||
Version of the upstream library or program. If there is no version, a |
||||
placeholder such as 1.0 can be used. |
||||
$(package)_download_path: |
||||
Location of the upstream source, without the file-name. Usually http or |
||||
ftp. |
||||
$(package)_file_name: |
||||
The upstream source filename available at the download path. |
||||
$(package)_sha256_hash: |
||||
The sha256 hash of the upstream file |
||||
|
||||
These variables are optional: |
||||
$(package)_build_subdir: |
||||
cd to this dir before running configure/build/stage commands. |
||||
$(package)_download_file: |
||||
The file-name of the upstream source if it differs from how it should be |
||||
stored locally. This can be used to avoid storing file-names with strange |
||||
characters. |
||||
$(package)_dependencies: |
||||
Names of any other packages that this one depends on. |
||||
$(package)_patches: |
||||
Filenames of any patches needed to build the package |
||||
|
||||
|
||||
Build Variables: |
||||
After defining the main identifiers, build variables may be added or customized |
||||
before running the build commands. They should be added to a function called |
||||
$(package)_set_vars. For example: |
||||
|
||||
define $(package)_set_vars |
||||
... |
||||
endef |
||||
|
||||
Most variables can be prefixed with the host, architecture, or both, to make |
||||
the modifications specific to that case. For example: |
||||
|
||||
Universal: $(package)_cc=gcc |
||||
Linux only: $(package)_linux_cc=gcc |
||||
x86_64 only: $(package)_x86_64_cc = gcc |
||||
x86_64 linux only: $(package)_x86_64_linux_cc = gcc |
||||
|
||||
These variables may be set to override or append their default values. |
||||
$(package)_cc |
||||
$(package)_cxx |
||||
$(package)_objc |
||||
$(package)_objcxx |
||||
$(package)_ar |
||||
$(package)_ranlib |
||||
$(package)_libtool |
||||
$(package)_nm |
||||
$(package)_cflags |
||||
$(package)_cxxflags |
||||
$(package)_ldflags |
||||
$(package)_cppflags |
||||
$(package)_config_env |
||||
$(package)_build_env |
||||
$(package)_stage_env |
||||
|
||||
The *_env variables are used to add environment variables to the respective |
||||
commands. |
||||
|
||||
Other variables may be defined as needed. |
||||
|
||||
Build commands: |
||||
|
||||
For each build, a unique build dir and staging dir are created. For example, |
||||
work/build/mylib/1.0-1adac830f6e and work/staging/mylib/1.0-1adac830f6e. |
||||
|
||||
The following build commands are available for each recipe: |
||||
|
||||
$(package)_fetch_cmds: |
||||
Runs from: build dir |
||||
Fetch the source file. If undefined, it will be fetched and verified |
||||
against its hash. |
||||
$(package)_extract_cmds: |
||||
Runs from: build dir |
||||
Verify the source file against its hash and extract it. If undefined, the |
||||
source is assumed to be a tarball. |
||||
$(package)_preprocess_cmds: |
||||
Runs from: build dir/$(package)_build_subdir |
||||
Preprocess the source as necessary. If undefined, does nothing. |
||||
$(package)_config_cmds: |
||||
Runs from: build dir/$(package)_build_subdir |
||||
Configure the source. If undefined, does nothing. |
||||
$(package)_build_cmds: |
||||
Runs from: build dir/$(package)_build_subdir |
||||
Build the source. If undefined, does nothing. |
||||
$(package)_stage_cmds: |
||||
Runs from: build dir/$(package)_build_subdir |
||||
Stage the build results. If undefined, does nothing. |
||||
|
||||
The following variables are available for each recipe: |
||||
$(1)_staging_dir: package's destination sysroot path |
||||
$(1)_staging_prefix_dir: prefix path inside of the package's staging dir |
||||
$(1)_extract_dir: path to the package's extracted sources |
||||
$(1)_build_dir: path where configure/build/stage commands will be run |
||||
$(1)_patch_dir: path where the package's patches (if any) are found |
||||
|
||||
Notes on build commands: |
||||
|
||||
For packages built with autotools, $($(package)_autoconf) can be used in the |
||||
configure step to (usually) correctly configure automatically. Any |
||||
$($(package)_config_opts) will be appended. |
||||
|
||||
Most autotools projects can be properly staged using: |
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install |
@ -0,0 +1,29 @@
@@ -0,0 +1,29 @@
|
||||
To build dependencies for the current arch+OS: |
||||
make |
||||
To build for another arch/OS: |
||||
make HOST=host-platform-triplet && make HOST=host-platform-triplet |
||||
(For example: make HOST=i686-w64-mingw32 -j4) |
||||
|
||||
A prefix will be generated that's suitable for plugging into Bitcoin's |
||||
configure. In the above example, a dir named i686-w64-mingw32 will be |
||||
created. To use it for Bitcoin: |
||||
|
||||
./configure --prefix=`pwd`/depends/i686-w64-mingw32 |
||||
|
||||
No other options are needed, the paths are automatically configured. |
||||
|
||||
Dependency Options: |
||||
The following can be set when running make: make FOO=bar |
||||
|
||||
SOURCES_PATH: downloaded sources will be placed here |
||||
BASE_CACHE: built packages will be placed here |
||||
SDK_PATH: Path where sdk's can be found (used by OSX) |
||||
NO_QT: Don't download/build/cache qt and its dependencies |
||||
NO_WALLET: Don't download/build/cache libs needed to enable the wallet |
||||
NO_UPNP: Don't download/build/cache packages needed for enabling upnp |
||||
|
||||
If some packages are not built, for example 'make NO_WALLET=1', the appropriate |
||||
options will be passed to bitcoin's configure. In this case, --disable-wallet. |
||||
|
||||
Additional targets: |
||||
download: run 'make download' to fetch sources without building them |
@ -0,0 +1,22 @@
@@ -0,0 +1,22 @@
|
||||
build_darwin_CC: = $(shell xcrun -f clang) |
||||
build_darwin_CXX: = $(shell xcrun -f clang++) |
||||
build_darwin_AR: = $(shell xcrun -f ar) |
||||
build_darwin_RANLIB: = $(shell xcrun -f ranlib) |
||||
build_darwin_STRIP: = $(shell xcrun -f strip) |
||||
build_darwin_OTOOL: = $(shell xcrun -f otool) |
||||
build_darwin_NM: = $(shell xcrun -f nm) |
||||
build_darwin_INSTALL_NAME_TOOL:=$(shell xcrun -f install_name_tool) |
||||
build_darwin_SHA256SUM = shasum -a 256 |
||||
build_darwin_DOWNLOAD = curl -L -o |
||||
|
||||
#darwin host on darwin builder. overrides darwin host preferences.
|
||||
darwin_CC=$(shell xcrun -f clang) -mmacosx-version-min=$(OSX_MIN_VERSION) |
||||
darwin_CXX:=$(shell xcrun -f clang++) -mmacosx-version-min=$(OSX_MIN_VERSION) |
||||
darwin_AR:=$(shell xcrun -f ar) |
||||
darwin_RANLIB:=$(shell xcrun -f ranlib) |
||||
darwin_STRIP:=$(shell xcrun -f strip) |
||||
darwin_LIBTOOL:=$(shell xcrun -f libtool) |
||||
darwin_OTOOL:=$(shell xcrun -f otool) |
||||
darwin_NM:=$(shell xcrun -f nm) |
||||
darwin_INSTALL_NAME_TOOL:=$(shell xcrun -f install_name_tool) |
||||
darwin_native_toolchain= |
@ -0,0 +1,20 @@
@@ -0,0 +1,20 @@
|
||||
default_build_CC = gcc |
||||
default_build_CXX = g++ |
||||
default_build_AR = ar |
||||
default_build_RANLIB = ranlib |
||||
default_build_STRIP = strip |
||||
default_build_NM = nm |
||||
default_build_OTOOL = otool |
||||
default_build_INSTALL_NAME_TOOL = install_name_tool |
||||
|
||||
define add_build_tool_func |
||||
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)))) |
||||
define add_build_flags_func |
||||
build_$(build_arch)_$(build_os)_$1 += $(build_$(build_os)_$1) |
||||
build_$1=$$(build_$(build_arch)_$(build_os)_$1) |
||||
endef |
||||
$(foreach flags, CFLAGS CXXFLAGS LDFLAGS, $(eval $(call add_build_flags_func,$(flags)))) |
@ -0,0 +1,2 @@
@@ -0,0 +1,2 @@
|
||||
build_linux_SHA256SUM = sha256sum |
||||
build_linux_DOWNLOAD = wget -nv -O |
@ -0,0 +1,84 @@
@@ -0,0 +1,84 @@
|
||||
cross_compiling=maybe |
||||
host_alias=@HOST@ |
||||
ac_tool_prefix=${host_alias}- |
||||
|
||||
if test -z $with_boost; then |
||||
with_boost=$prefix |
||||
fi |
||||
if test -z $with_qt_plugindir; then |
||||
with_qt_plugindir=$prefix/plugins |
||||
fi |
||||
if test -z $with_qt_translationdir; then |
||||
with_qt_translationdir=$prefix/translations |
||||
fi |
||||
if test -z $with_qt_bindir; then |
||||
with_qt_bindir=$prefix/native/bin |
||||
fi |
||||
if test -z $with_protoc_bindir; then |
||||
with_protoc_bindir=$prefix/native/bin |
||||
fi |
||||
if test -z $with_comparison_tool; then |
||||
with_comparison_tool=$prefix/native/share/BitcoindComparisonTool_jar/BitcoindComparisonTool.jar |
||||
fi |
||||
|
||||
|
||||
if test -z $enable_wallet && test -n "@no_wallet@"; then |
||||
enable_wallet=no |
||||
fi |
||||
|
||||
if test -z $with_miniupnpc && test -n "@no_upnp@"; then |
||||
with_miniupnpc=no |
||||
fi |
||||
|
||||
if test -z $with_gui && test -n "@no_qt@"; then |
||||
with_gui=no |
||||
fi |
||||
|
||||
if test @host_os@ == darwin; then |
||||
BREW=no |
||||
PORT=no |
||||
fi |
||||
|
||||
if test @host_os@ == mingw32; then |
||||
if test -z $with_qt_incdir; then |
||||
with_qt_incdir=$prefix/include |
||||
fi |
||||
if test -z $with_qt_libdir; then |
||||
with_qt_libdir=$prefix/lib |
||||
fi |
||||
fi |
||||
|
||||
export PATH=$prefix/native/bin:$PATH |
||||
export PKG_CONFIG="`which pkg-config` --static" |
||||
export PKG_CONFIG_LIBDIR=$prefix/lib/pkgconfig |
||||
export PKG_CONFIG_PATH=$prefix/share/pkgconfig |
||||
export CPPFLAGS=-I$prefix/include/ |
||||
|
||||
export CC="@CC@" |
||||
export CXX="@CXX@" |
||||
export OBJC="${CC}" |
||||
export OBJCXX="${CXX}" |
||||
export CCACHE=$prefix/native/bin/ccache |
||||
|
||||
if test -n "@AR@"; then |
||||
export AR=@AR@ |
||||
ac_cv_path_ac_pt_AR=${AR} |
||||
fi |
||||
|
||||
if test -n "@RANLIB@"; then |
||||
export RANLIB=@RANLIB@ |
||||
ac_cv_path_ac_pt_RANLIB=${RANLIB} |
||||
fi |
||||
|
||||
if test -n "@NM@"; then |
||||
export NM=@NM@ |
||||
ac_cv_path_ac_pt_NM=${NM} |
||||
fi |
||||
|
||||
if test -n "@CFLAGS@"; then |
||||
export CFLAGS="@CFLAGS@ $CFLAGS" |
||||
fi |
||||
if test -n "@CXXFLAGS@"; then |
||||
export CXXFLAGS="@CXXFLAGS@ $CXXFLAGS" |
||||
fi |
||||
export LDFLAGS="-L$prefix/lib @LDFLAGS@ $LDFLAGS" |
@ -0,0 +1,219 @@
@@ -0,0 +1,219 @@
|
||||
define int_vars |
||||
#Set defaults for vars which may be overridden per-package
|
||||
$(1)_cc=$($($(1)_type)_CC) |
||||
$(1)_cxx=$($($(1)_type)_CXX) |
||||
$(1)_objc=$($($(1)_type)_OBJC) |
||||
$(1)_objcxx=$($($(1)_type)_OBJCXX) |
||||
$(1)_ar=$($($(1)_type)_AR) |
||||
$(1)_ranlib=$($($(1)_type)_RANLIB) |
||||
$(1)_libtool=$($($(1)_type)_LIBTOOL) |
||||
$(1)_nm=$($($(1)_type)_NM) |
||||
$(1)_cflags=$($($(1)_type)_CFLAGS) |
||||
$(1)_cxxflags=$($($(1)_type)_CXXFLAGS) |
||||
$(1)_ldflags=$($($(1)_type)_LDFLAGS) -L$($($(1)_type)_prefix)/lib |
||||
$(1)_cppflags:=-I$($($(1)_type)_prefix)/include |
||||
$(1)_recipe_hash:= |
||||
endef |
||||
|
||||
define int_get_all_dependencies |
||||
$(sort $(foreach dep,$(2),$(2) $(call int_get_all_dependencies,$(1),$($(dep)_dependencies)))) |
||||
endef |
||||
|
||||
define fetch_file |
||||
(test -f $(SOURCES_PATH)/$(3) || ( mkdir -p $$($(1)_extract_dir) && $(build_DOWNLOAD) "$$($(1)_extract_dir)/$(3).temp" "$(2)" && echo "$(4) $$($(1)_extract_dir)/$(3).temp" | $(build_SHA256SUM) -c && mv $$($(1)_extract_dir)/$(3).temp $(SOURCES_PATH)/$(3) )) |
||||
endef |
||||
|
||||
define int_get_build_recipe_hash |
||||
$(eval $(1)_all_file_checksums:=$(shell $(build_SHA256SUM) $(meta_depends) packages/$(1).mk $(addprefix $(PATCHES_PATH)/$(1)/,$($(1)_patches)))) |
||||
$(eval $(1)_recipe_hash:=$(shell echo -n "$($(1)_all_file_checksums)" | $(build_SHA256SUM))) |
||||
endef |
||||
|
||||
define int_get_build_id |
||||
$(eval $(1)_dependencies += $($(1)_$(host_arch)_$(host_os)_dependencies) $($(1)_$(host_os)_dependencies)) |
||||
$(eval $(1)_all_dependencies:=$(call int_get_all_dependencies,$(1),$($($(1)_type)_native_toolchain) $($(1)_dependencies))) |
||||
$(foreach dep,$($(1)_all_dependencies),$(eval $(1)_build_id_deps+=$(dep)-$($(dep)_version)-$($(dep)_recipe_hash))) |
||||
$(eval $(1)_build_id_long:=$(1)-$($(1)_version)-$($(1)_recipe_hash) $($(1)_build_id_deps)) |
||||
$(eval $(1)_build_id:=$(shell echo -n "$($(1)_build_id_long)" | $(build_SHA256SUM) | cut -c-$(HASH_LENGTH))) |
||||
final_build_id_long+=$($(package)_build_id_long) |
||||
|
||||
#compute package-specific paths
|
||||
$(1)_build_subdir?=. |
||||
$(1)_download_file?=$($(1)_file_name) |
||||
$(1)_source:=$(SOURCES_PATH)/$($(1)_file_name) |
||||
$(1)_staging_dir=$(base_staging_dir)/$(host)/$(1)/$($(1)_version)-$($(1)_build_id) |
||||
$(1)_staging_prefix_dir:=$$($(1)_staging_dir)$($($(1)_type)_prefix) |
||||
$(1)_extract_dir:=$(base_build_dir)/$(host)/$(1)/$($(1)_version)-$($(1)_build_id) |
||||
$(1)_build_dir:=$$($(1)_extract_dir)/$$($(1)_build_subdir) |
||||
$(1)_patch_dir:=$(base_build_dir)/$(host)/$(1)/$($(1)_version)-$($(1)_build_id)/.patches-$($(1)_build_id) |
||||
$(1)_prefixbin:=$($($(1)_type)_prefix)/bin/ |
||||
$(1)_cached:=$(BASE_CACHE)/$(host)/$(1)/$(1)-$($(1)_version)-$($(1)_build_id).tar.gz |
||||
|
||||
#stamps
|
||||
$(1)_fetched=$$($(1)_extract_dir)/.stamp_fetched |
||||
$(1)_extracted=$$($(1)_extract_dir)/.stamp_extracted |
||||
$(1)_preprocessed=$$($(1)_extract_dir)/.stamp_preprocessed |
||||
$(1)_cleaned=$$($(1)_extract_dir)/.stamp_cleaned |
||||
$(1)_built=$$($(1)_build_dir)/.stamp_built |
||||
$(1)_configured=$$($(1)_build_dir)/.stamp_configured |
||||
$(1)_staged=$$($(1)_staging_dir)/.stamp_staged |
||||
$(1)_postprocessed=$$($(1)_staging_prefix_dir)/.stamp_postprocessed |
||||
$(1)_download_path_fixed=$(subst :,\:,$$($(1)_download_path)) |
||||
|
||||
|
||||
#default commands
|
||||
$(1)_fetch_cmds ?= $(call fetch_file,$(1),$(subst \:,:,$$($(1)_download_path_fixed)/$$($(1)_download_file)),$($(1)_file_name),$($(1)_sha256_hash)) |
||||
$(1)_extract_cmds ?= echo "$$($(1)_sha256_hash) $$($(1)_source)" | $(build_SHA256SUM) -c && tar --strip-components=1 -xf $$($(1)_source) |
||||
$(1)_preprocess_cmds ?= |
||||
$(1)_build_cmds ?= |
||||
$(1)_config_cmds ?= |
||||
$(1)_stage_cmds ?= |
||||
$(1)_set_vars ?= |
||||
|
||||
|
||||
all_sources+=$$($(1)_fetched) |
||||
endef |
||||
#$(foreach dep_target,$($(1)_all_dependencies),$(eval $(1)_dependency_targets=$($(dep_target)_cached)))
|
||||
|
||||
|
||||
define int_config_attach_build_config |
||||
$(eval $(call $(1)_set_vars,$(1))) |
||||
$(1)_cflags+=$($(1)_cflags_$(host_arch)) |
||||
$(1)_cflags+=$($(1)_cflags_$(host_os)) |
||||
$(1)_cflags+=$($(1)_cflags_$(host_arch)_$(host_os)) |
||||
|
||||
$(1)_cxxflags+=$($(1)_cxxflags_$(host_arch)) |
||||
$(1)_cxxflags+=$($(1)_cxxflags_$(host_os)) |
||||
$(1)_cxxflags+=$($(1)_cxxflags_$(host_arch)_$(host_os)) |
||||
|
||||
$(1)_cppflags+=$($(1)_cppflags_$(host_arch)) |
||||
$(1)_cppflags+=$($(1)_cppflags_$(host_os)) |
||||
$(1)_cppflags+=$($(1)_cppflags_$(host_arch)_$(host_os)) |
||||
|
||||
$(1)_ldflags+=$($(1)_ldflags_$(host_arch)) |
||||
$(1)_ldflags+=$($(1)_ldflags_$(host_os)) |
||||
$(1)_ldflags+=$($(1)_ldflags_$(host_arch)_$(host_os)) |
||||
|
||||
$(1)_build_opts+=$$($(1)_build_opts_$(host_arch)) |
||||
$(1)_build_opts+=$$($(1)_build_opts_$(host_os)) |
||||
$(1)_build_opts+=$$($(1)_build_opts_$(host_arch)_$(host_os)) |
||||
|
||||
$(1)_config_opts+=$$($(1)_config_opts_$(host_arch)) |
||||
$(1)_config_opts+=$$($(1)_config_opts_$(host_os)) |
||||
$(1)_config_opts+=$$($(1)_config_opts_$(host_arch)_$(host_os)) |
||||
|
||||
$(1)_config_env+=$($(1)_config_env_$(host_arch)) |
||||
$(1)_config_env+=$($(1)_config_env_$(host_os)) |
||||
$(1)_config_env+=$($(1)_config_env_$(host_arch)_$(host_os)) |
||||
|
||||
$(1)_config_env+=PKG_CONFIG_LIBDIR=$($($(1)_type)_prefix)/lib/pkgconfig |
||||
$(1)_config_env+=PKG_CONFIG_PATH=$($($(1)_type)_prefix)/share/pkgconfig |
||||
$(1)_config_env+=PATH=$(build_prefix)/bin:$(PATH) |
||||
$(1)_build_env+=PATH=$(build_prefix)/bin:$(PATH) |
||||
$(1)_stage_env+=PATH=$(build_prefix)/bin:$(PATH) |
||||
$(1)_autoconf=./configure --host=$($($(1)_type)_host) --disable-dependency-tracking --prefix=$($($(1)_type)_prefix) $$($(1)_config_opts) CC="$$($(1)_cc)" CXX="$$($(1)_cxx)" |
||||
|
||||
ifneq ($($(1)_nm),) |
||||
$(1)_autoconf += NM="$$($(1)_nm)" |
||||
endif |
||||
ifneq ($($(1)_ranlib),) |
||||
$(1)_autoconf += RANLIB="$$($(1)_ranlib)" |
||||
endif |
||||
ifneq ($($(1)_ar),) |
||||
$(1)_autoconf += AR="$$($(1)_ar)" |
||||
endif |
||||
ifneq ($($(1)_cflags),) |
||||
$(1)_autoconf += CFLAGS="$$($(1)_cflags)" |
||||
endif |
||||
ifneq ($($(1)_cxxflags),) |
||||
$(1)_autoconf += CXXFLAGS="$$($(1)_cxxflags)" |
||||
endif |
||||
ifneq ($($(1)_cppflags),) |
||||
$(1)_autoconf += CPPFLAGS="$$($(1)_cppflags)" |
||||
endif |
||||
ifneq ($($(1)_ldflags),) |
||||
$(1)_autoconf += LDFLAGS="$$($(1)_ldflags)" |
||||
endif |
||||
endef |
||||
|
||||
define int_add_cmds |
||||
$($(1)_fetched): |
||||
$(AT)echo Fetching $(1)... |
||||
$(AT)mkdir -p $$(@D) $(SOURCES_PATH) |
||||
$(AT)cd $$(@D); $(call $(1)_fetch_cmds,$(1)) |
||||
$(AT)touch $$@ |
||||
$($(1)_extracted): | $($(1)_fetched) |
||||
$(AT)echo Extracting $(1)... |
||||
$(AT)mkdir -p $$(@D) |
||||
$(AT)cd $$(@D); $(call $(1)_extract_cmds,$(1)) |
||||
$(AT)touch $$@ |
||||
$($(1)_preprocessed): | $($(1)_dependencies) $($(1)_extracted) |
||||
$(AT)echo Preprocessing $(1)... |
||||
$(AT)mkdir -p $$(@D) $($(1)_patch_dir) |
||||
$(AT)$(foreach patch,$($(1)_patches),cd $(PATCHES_PATH)/$(1); cp $(patch) $($(1)_patch_dir) ;) |
||||
$(AT)cd $$(@D); $(call $(1)_preprocess_cmds, $(1)) |
||||
$(AT)touch $$@ |
||||
$($(1)_configured): | $($(1)_preprocessed) |
||||
$(AT)echo Configuring $(1)... |
||||
$(AT)rm -rf $(host_prefix); mkdir -p $(host_prefix)/lib; cd $(host_prefix); $(foreach package,$($(1)_all_dependencies), tar xf $($(package)_cached); ) |
||||
$(AT)mkdir -p $$(@D) |
||||
$(AT)+cd $$(@D); $($(1)_config_env) $(call $(1)_config_cmds, $(1)) |
||||
$(AT)touch $$@ |
||||
$($(1)_built): | $($(1)_configured) |
||||
$(AT)echo Building $(1)... |
||||
$(AT)mkdir -p $$(@D) |
||||
$(AT)+cd $$(@D); $($(1)_build_env) $(call $(1)_build_cmds, $(1)) |
||||
$(AT)touch $$@ |
||||
$($(1)_staged): | $($(1)_built) |
||||
$(AT)echo Staging $(1)... |
||||
$(AT)mkdir -p $($(1)_staging_dir)/$(host_prefix) |
||||
$(AT)cd $($(1)_build_dir); $($(1)_stage_env) $(call $(1)_stage_cmds, $(1)) |
||||
$(AT)rm -rf $($(1)_extract_dir) |
||||
$(AT)touch $$@ |
||||
$($(1)_postprocessed): | $($(1)_staged) |
||||
$(AT)echo Postprocessing $(1)... |
||||
$(AT)cd $($(1)_staging_prefix_dir); $(call $(1)_postprocess_cmds) |
||||
$(AT)touch $$@ |
||||
$($(1)_cached): | $($(1)_dependencies) $($(1)_postprocessed) |
||||
$(AT)echo Caching $(1)... |
||||
$(AT)cd $$($(1)_staging_dir)/$(host_prefix); find . | sort | tar --no-recursion -czf $$($(1)_staging_dir)/$$(@F) -T - |
||||
$(AT)mkdir -p $$(@D) |
||||
$(AT)rm -rf $$(@D) && mkdir -p $$(@D) |
||||
$(AT)mv $$($(1)_staging_dir)/$$(@F) $$(@) |
||||
$(AT)rm -rf $($(1)_staging_dir) |
||||
|
||||
.PHONY: $(1) |
||||
$(1): | $($(1)_cached) |
||||
.SECONDARY: $($(1)_postprocessed) $($(1)_staged) $($(1)_built) $($(1)_configured) $($(1)_preprocessed) $($(1)_extracted) $($(1)_fetched) |
||||
|
||||
endef |
||||
|
||||
# These functions create the build targets for each package. They must be
|
||||
# broken down into small steps so that each part is done for all packages
|
||||
# before moving on to the next step. Otherwise, a package's info
|
||||
# (build-id for example) would only be avilable to another package if it
|
||||
# happened to be computed already.
|
||||
|
||||
#set the type for host/build packages.
|
||||
$(foreach native_package,$(native_packages),$(eval $(native_package)_type=build)) |
||||
$(foreach package,$(packages),$(eval $(package)_type=$(host_arch)_$(host_os))) |
||||
|
||||
#set overridable defaults
|
||||
$(foreach package,$(all_packages),$(eval $(call int_vars,$(package)))) |
||||
|
||||
#include package files
|
||||
$(foreach package,$(all_packages),$(eval include packages/$(package).mk)) |
||||
|
||||
#compute a hash of all files that comprise this package's build recipe
|
||||
$(foreach package,$(all_packages),$(eval $(call int_get_build_recipe_hash,$(package)))) |
||||
|
||||
#generate a unique id for this package, incorporating its dependencies as well
|
||||
$(foreach package,$(all_packages),$(eval $(call int_get_build_id,$(package)))) |
||||
|
||||
#compute final vars after reading package vars
|
||||
$(foreach package,$(all_packages),$(eval $(call int_config_attach_build_config,$(package)))) |
||||
|
||||
#create build targets
|
||||
$(foreach package,$(all_packages),$(eval $(call int_add_cmds,$(package)))) |
||||
|
||||
#special exception: if a toolchain package exists, all non-native packages depend on it
|
||||
$(foreach package,$(packages),$(eval $($(package)_unpacked): |$($($(host_arch)_$(host_os)_native_toolchain)_cached) )) |
@ -0,0 +1,8 @@
@@ -0,0 +1,8 @@
|
||||
OSX_MIN_VERSION=10.6 |
||||
OSX_SDK_VERSION=10.7 |
||||
OSX_SDK=$(SDK_PATH)/MacOSX$(OSX_SDK_VERSION).sdk |
||||
darwin_CC=clang -target $(host) -mmacosx-version-min=$(OSX_MIN_VERSION) --sysroot $(OSX_SDK) |
||||
darwin_CXX=clang++ -target $(host) -mmacosx-version-min=$(OSX_MIN_VERSION) --sysroot $(OSX_SDK) |
||||
darwin_CFLAGS=-pipe -O2 |
||||
darwin_CXXFLAGS=$(darwin_CFLAGS) |
||||
darwin_native_toolchain=native_cctools |
@ -0,0 +1,23 @@
@@ -0,0 +1,23 @@
|
||||
default_host_CC = $(host_toolchain)gcc |
||||
default_host_CXX = $(host_toolchain)g++ |
||||
default_host_AR = $(host_toolchain)ar |
||||
default_host_RANLIB = $(host_toolchain)ranlib |
||||
default_host_STRIP = $(host_toolchain)strip |
||||
default_host_LIBTOOL = $(host_toolchain)libtool |
||||
default_host_INSTALL_NAME_TOOL = $(host_toolchain)install_name_tool |
||||
default_host_OTOOL = $(host_toolchain)otool |
||||
default_host_NM = $(host_toolchain)nm |
||||
|
||||
define add_host_tool_func |
||||
$(host_os)_$1?=$$(default_host_$1) |
||||
$(host_arch)_$(host_os)_$1?=$$($(host_os)_$1) |
||||
host_$1=$$($(host_arch)_$(host_os)_$1) |
||||
endef |
||||
|
||||
define add_host_flags_func |
||||
$(host_arch)_$(host_os)_$1 += $($(host_os)_$1) |
||||
host_$1 = $$($(host_arch)_$(host_os)_$1) |
||||
endef |
||||
|
||||
$(foreach tool,CC CXX AR RANLIB STRIP NM LIBTOOL OTOOL INSTALL_NAME_TOOL,$(eval $(call add_host_tool_func,$(tool)))) |
||||
$(foreach flags,CFLAGS CXXFLAGS LDFLAGS, $(eval $(call add_host_flags_func,$(flags)))) |
@ -0,0 +1,23 @@
@@ -0,0 +1,23 @@
|
||||
linux_CFLAGS=-pipe -O2 |
||||
linux_CXXFLAGS=$(linux_CFLAGS) |
||||
|
||||
ifeq (86,$(findstring 86,$(build_arch))) |
||||
i686_linux_CC=gcc -m32 |
||||
i686_linux_CXX=g++ -m32 |
||||
i686_linux_AR=ar |
||||
i686_linux_RANLIB=ranlib |
||||
i686_linux_NM=nm |
||||
i686_linux_STRIP=strip |
||||
|
||||
x86_64_linux_CC=gcc -m64 |
||||
x86_64_linux_CXX=g++ -m64 |
||||
x86_64_linux_AR=ar |
||||
x86_64_linux_RANLIB=ranlib |
||||
x86_64_linux_NM=nm |
||||
x86_64_linux_STRIP=strip |
||||
else |
||||
i686_linux_CC=$(default_host_CC) -m32 |
||||
i686_linux_CXX=$(default_host_CXX) -m32 |
||||
x86_64_linux_CC=$(default_host_CC) -m64 |
||||
x86_64_linux_CXX=$(default_host_CXX) -m64 |
||||
endif |
@ -0,0 +1,2 @@
@@ -0,0 +1,2 @@
|
||||
mingw32_CFLAGS=-pipe -O2 |
||||
mingw32_CXXFLAGS=$(mingw32_CFLAGS) |
@ -0,0 +1,29 @@
@@ -0,0 +1,29 @@
|
||||
package=bdb |
||||
$(package)_version=4.8.30 |
||||
$(package)_download_path=http://download.oracle.com/berkeley-db |
||||
$(package)_file_name=db-$($(package)_version).NC.tar.gz |
||||
$(package)_sha256_hash=12edc0df75bf9abd7f82f821795bcee50f42cb2e5f76a6a281b85732798364ef |
||||
$(package)_build_subdir=build_unix |
||||
|
||||
define $(package)_set_vars |
||||
$(package)_config_opts=--disable-shared --enable-cxx |
||||
$(package)_config_opts_mingw32=--enable-mingw |
||||
$(package)_config_opts_x86_64_linux=--with-pic |
||||
$(package)_config_opts_arm_linux=--with-pic |
||||
endef |
||||
|
||||
define $(package)_preprocess_cmds |
||||
sed -i.old 's/__atomic_compare_exchange/__atomic_compare_exchange_db/' dbinc/atomic.h |
||||
endef |
||||
|
||||
define $(package)_config_cmds |
||||
../dist/$($(package)_autoconf) |
||||
endef |
||||
|
||||
define $(package)_build_cmds |
||||
$(MAKE) libdb_cxx-4.8.a libdb-4.8.a |
||||
endef |
||||
|
||||
define $(package)_stage_cmds |
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install_lib install_include |
||||
endef |
@ -0,0 +1,42 @@
@@ -0,0 +1,42 @@
|
||||
package=boost |
||||
$(package)_version=1_55_0 |
||||
$(package)_download_path=http://sourceforge.net/projects/boost/files/boost/1.55.0 |
||||
$(package)_file_name=$(package)_$($(package)_version).tar.bz2 |
||||
$(package)_sha256_hash=fff00023dd79486d444c8e29922f4072e1d451fc5a4d2b6075852ead7f2b7b52 |
||||
$(package)_patches=darwin_boost_atomic-1.patch darwin_boost_atomic-2.patch |
||||
|
||||
define $(package)_set_vars |
||||
$(package)_config_opts=--layout=tagged --build-type=complete --user-config=user-config.jam |
||||
$(package)_config_opts+=variant=release threading=multi link=static -sNO_BZIP2=1 -sNO_ZLIB=1 |
||||
$(package)_config_opts_linux=threadapi=pthread runtime-link=shared |
||||
$(package)_config_opts_darwin=--toolset=darwin-4.2.1 runtime-link=shared |
||||
$(package)_config_opts_mingw32=binary-format=pe target-os=windows threadapi=win32 runtime-link=static |
||||
$(package)_config_opts_x86_64_mingw32=address-model=64 |
||||
$(package)_config_opts_i686_mingw32=address-model=32 |
||||
$(package)_config_opts_i686_linux=address-model=32 architecture=x86 |
||||
$(package)_toolset_$(host_os)=gcc |
||||
$(package)_archiver_$(host_os)=$($(package)_ar) |
||||
$(package)_toolset_darwin=darwin |
||||
$(package)_archiver_darwin=$($(package)_libtool) |
||||
$(package)_config_libraries=chrono,filesystem,program_options,system,thread,test |
||||
$(package)_cxxflags_x86_64_linux=-fPIC |
||||
$(package)_cxxflags_arm_linux=-fPIC |
||||
endef |
||||
|
||||
define $(package)_preprocess_cmds |
||||
patch -p2 < $($(package)_patch_dir)/darwin_boost_atomic-1.patch && \
|
||||
patch -p2 < $($(package)_patch_dir)/darwin_boost_atomic-2.patch && \
|
||||
echo "using $(boost_toolset_$(host_os)) : : $($(package)_cxx) : <cxxflags>\"$($(package)_cxxflags)\" <linkflags>\"$($(package)_ldflags)\" <archiver>\"$(boost_archiver_$(host_os))\" <striper>\"$(host_STRIP)\" <ranlib>\"$(host_RANLIB)\" <rc>\"$(host_WINDRES)\" : ;" > user-config.jam |
||||
endef |
||||
|
||||
define $(package)_config_cmds |
||||
./bootstrap.sh --without-icu --with-libraries=$(boost_config_libraries) |
||||
endef |
||||
|
||||
define $(package)_build_cmds |
||||
./b2 -d2 -j2 -d1 --prefix=$($(package)_staging_prefix_dir) $($(package)_config_opts) stage |
||||
endef |
||||
|
||||
define $(package)_stage_cmds |
||||
./b2 -d0 -j4 --prefix=$($(package)_staging_prefix_dir) $($(package)_config_opts) install |
||||
endef |
@ -0,0 +1,23 @@
@@ -0,0 +1,23 @@
|
||||
package=dbus |
||||
$(package)_version=1.8.6 |
||||
$(package)_download_path=http://dbus.freedesktop.org/releases/dbus |
||||
$(package)_file_name=$(package)-$($(package)_version).tar.gz |
||||
$(package)_sha256_hash=eded83ca007b719f32761e60fd8b9ffd0f5796a4caf455b01b5a5ef740ebd23f |
||||
$(package)_dependencies=expat |
||||
|
||||
define $(package)_set_vars |
||||
$(package)_config_opts=--disable-tests --disable-doxygen-docs --disable-xml-docs --disable-static --without-x |
||||
endef |
||||
|
||||
define $(package)_config_cmds |
||||
$($(package)_autoconf) |
||||
endef |
||||
|
||||
define $(package)_build_cmds |
||||
$(MAKE) -C dbus libdbus-1.la |
||||
endef |
||||
|
||||
define $(package)_stage_cmds |
||||
$(MAKE) -C dbus DESTDIR=$($(package)_staging_dir) install-libLTLIBRARIES install-dbusincludeHEADERS install-nodist_dbusarchincludeHEADERS && \
|
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install-pkgconfigDATA |
||||
endef |
@ -0,0 +1,21 @@
@@ -0,0 +1,21 @@
|
||||
package=expat |
||||
$(package)_version=2.1.0 |
||||
$(package)_download_path=http://sourceforge.net/projects/expat/files/expat/$($(package)_version) |
||||
$(package)_file_name=$(package)-$($(package)_version).tar.gz |
||||
$(package)_sha256_hash=823705472f816df21c8f6aa026dd162b280806838bb55b3432b0fb1fcca7eb86 |
||||
|
||||
define $(package)_set_vars |
||||
$(package)_config_opts=--disable-static |
||||
endef |
||||
|
||||
define $(package)_config_cmds |
||||
$($(package)_autoconf) |
||||
endef |
||||
|
||||
define $(package)_build_cmds |
||||
$(MAKE) |
||||
endef |
||||
|
||||
define $(package)_stage_cmds |
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install |
||||
endef |
@ -0,0 +1,22 @@
@@ -0,0 +1,22 @@
|
||||
package=fontconfig |
||||
$(package)_version=2.11.1 |
||||
$(package)_download_path=http://www.freedesktop.org/software/fontconfig/release/ |
||||
$(package)_file_name=$(package)-$($(package)_version).tar.bz2 |
||||
$(package)_sha256_hash=dc62447533bca844463a3c3fd4083b57c90f18a70506e7a9f4936b5a1e516a99 |
||||
$(package)_dependencies=freetype expat |
||||
|
||||
define $(package)_set_vars |
||||
$(package)_config_opts=--disable-docs --disable-static |
||||
endef |
||||
|
||||
define $(package)_config_cmds |
||||
$($(package)_autoconf) |
||||
endef |
||||
|
||||
define $(package)_build_cmds |
||||
$(MAKE) |
||||
endef |
||||
|
||||
define $(package)_stage_cmds |
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install |
||||
endef |
@ -0,0 +1,22 @@
@@ -0,0 +1,22 @@
|
||||
package=freetype |
||||
$(package)_version=2.5.3 |
||||
$(package)_download_path=http://downloads.sourceforge.net/$(package) |
||||
$(package)_file_name=$(package)-$($(package)_version).tar.bz2 |
||||
$(package)_sha256_hash=c0848b29d52ef3ca27ad92e08351f023c5e24ce8cea7d8fe69fc96358e65f75e |
||||
|
||||
define $(package)_set_vars |
||||
$(package)_config_opts=--without-zlib --without-png --disable-static |
||||
$(package)_config_opts_x86_64_linux=--with-pic |
||||
endef |
||||
|
||||
define $(package)_config_cmds |
||||
$($(package)_autoconf) |
||||
endef |
||||
|
||||
define $(package)_build_cmds |
||||
$(MAKE) |
||||
endef |
||||
|
||||
define $(package)_stage_cmds |
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install |
||||
endef |
@ -0,0 +1,23 @@
@@ -0,0 +1,23 @@
|
||||
package=libX11 |
||||
$(package)_version=1.6.2 |
||||
$(package)_download_path=http://xorg.freedesktop.org/releases/individual/lib/ |
||||
$(package)_file_name=$(package)-$($(package)_version).tar.bz2 |
||||
$(package)_sha256_hash=2aa027e837231d2eeea90f3a4afe19948a6eb4c8b2bec0241eba7dbc8106bd16 |
||||
$(package)_dependencies=libxcb xtrans xextproto xproto |
||||
|
||||
define $(package)_set_vars |
||||
$(package)_config_opts=--disable-xkb --disable-static |
||||
$(package)_config_opts_x86_64_linux=--with-pic |
||||
endef |
||||
|
||||
define $(package)_config_cmds |
||||
$($(package)_autoconf) |
||||
endef |
||||
|
||||
define $(package)_build_cmds |
||||
$(MAKE) |
||||
endef |
||||
|
||||
define $(package)_stage_cmds |
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install |
||||
endef |
@ -0,0 +1,23 @@
@@ -0,0 +1,23 @@
|
||||
package=libXau |
||||
$(package)_version=1.0.8 |
||||
$(package)_download_path=http://xorg.freedesktop.org/releases/individual/lib/ |
||||
$(package)_file_name=$(package)-$($(package)_version).tar.bz2 |
||||
$(package)_sha256_hash=fdd477320aeb5cdd67272838722d6b7d544887dfe7de46e1e7cc0c27c2bea4f2 |
||||
$(package)_dependencies=xproto |
||||
|
||||
define $(package)_set_vars |
||||
$(package)_config_opts=--disable-shared |
||||
$(package)_config_opts_x86_64_linux=--with-pic |
||||
endef |
||||
|
||||
define $(package)_config_cmds |
||||
$($(package)_autoconf) |
||||
endef |
||||
|
||||
define $(package)_build_cmds |
||||
$(MAKE) |
||||
endef |
||||
|
||||
define $(package)_stage_cmds |
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install |
||||
endef |
@ -0,0 +1,22 @@
@@ -0,0 +1,22 @@
|
||||
package=libXext |
||||
$(package)_version=1.3.2 |
||||
$(package)_download_path=http://xorg.freedesktop.org/releases/individual/lib/ |
||||
$(package)_file_name=$(package)-$($(package)_version).tar.bz2 |
||||
$(package)_sha256_hash=f829075bc646cdc085fa25d98d5885d83b1759ceb355933127c257e8e50432e0 |
||||
$(package)_dependencies=xproto xextproto libX11 libXau |
||||
|
||||
define $(package)_set_vars |
||||
$(package)_config_opts=--disable-static |
||||
endef |
||||
|
||||
define $(package)_config_cmds |
||||
$($(package)_autoconf) |
||||
endef |
||||
|
||||
define $(package)_build_cmds |
||||
$(MAKE) |
||||
endef |
||||
|
||||
define $(package)_stage_cmds |
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install |
||||
endef |
@ -0,0 +1,30 @@
@@ -0,0 +1,30 @@
|
||||
package=libxcb |
||||
$(package)_version=1.10 |
||||
$(package)_download_path=http://xcb.freedesktop.org/dist |
||||
$(package)_file_name=$(package)-$($(package)_version).tar.bz2 |
||||
$(package)_sha256_hash=98d9ab05b636dd088603b64229dd1ab2d2cc02ab807892e107d674f9c3f2d5b5 |
||||
$(package)_dependencies=xcb_proto libXau xproto |
||||
|
||||
define $(package)_set_vars |
||||
$(package)_config_opts=--disable-static |
||||
endef |
||||
|
||||
define $(package)_preprocess_cmds |
||||
sed "s/pthread-stubs//" -i configure |
||||
endef |
||||
|
||||
define $(package)_config_cmds |
||||
$($(package)_autoconf) |
||||
endef |
||||
|
||||
define $(package)_build_cmds |
||||
$(MAKE) |
||||
endef |
||||
|
||||
define $(package)_stage_cmds |
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install |
||||
endef |
||||
|
||||
define $(package)_postprocess_cmds |
||||
rm -rf share/man share/doc |
||||
endef |
@ -0,0 +1,28 @@
@@ -0,0 +1,28 @@
|
||||
package=miniupnpc |
||||
$(package)_version=1.9 |
||||
$(package)_download_path=http://miniupnp.free.fr/files |
||||
$(package)_file_name=$(package)-$($(package)_version).tar.gz |
||||
$(package)_sha256_hash=2923e453e880bb949e3d4da9f83dd3cb6f08946d35de0b864d0339cf70934464 |
||||
|
||||
define $(package)_set_vars |
||||
$(package)_build_opts=CC="$($(package)_cc)" |
||||
$(package)_build_opts_darwin=OS=Darwin |
||||
$(package)_build_opts_mingw32=-f Makefile.mingw |
||||
$(package)_build_env+=CFLAGS="$($(package)_cflags)" AR="$($(package)_ar)" |
||||
endef |
||||
|
||||
define $(package)_preprocess_cmds |
||||
mkdir dll && \
|
||||
sed -e 's|MINIUPNPC_VERSION_STRING \"version\"|MINIUPNPC_VERSION_STRING \"$($(package)_version)\"|' -e 's|OS/version|$(host)|' miniupnpcstrings.h.in > miniupnpcstrings.h && \
|
||||
sed -i.old "s|miniupnpcstrings.h: miniupnpcstrings.h.in wingenminiupnpcstrings|miniupnpcstrings.h: miniupnpcstrings.h.in|" Makefile.mingw |
||||
endef |
||||
|
||||
define $(package)_build_cmds |
||||
$(MAKE) libminiupnpc.a $($(package)_build_opts) |
||||
endef |
||||
|
||||
define $(package)_stage_cmds |
||||
mkdir -p $($(package)_staging_prefix_dir)/include/miniupnpc $($(package)_staging_prefix_dir)/lib &&\
|
||||
install *.h $($(package)_staging_prefix_dir)/include/miniupnpc &&\
|
||||
install libminiupnpc.a $($(package)_staging_prefix_dir)/lib |
||||
endef |
@ -0,0 +1,25 @@
@@ -0,0 +1,25 @@
|
||||
package=native_ccache |
||||
$(package)_version=3.1.9 |
||||
$(package)_download_path=http://samba.org/ftp/ccache |
||||
$(package)_file_name=ccache-$($(package)_version).tar.bz2 |
||||
$(package)_sha256_hash=04d3e2e438ac8d4cc4b110b68cdd61bd59226c6588739a4a386869467f5ced7c |
||||
|
||||
define $(package)_set_vars |
||||
$(package)_config_opts= |
||||
endef |
||||
|
||||
define $(package)_config_cmds |
||||
$($(package)_autoconf) |
||||
endef |
||||
|
||||
define $(package)_build_cmds |
||||
$(MAKE) |
||||
endef |
||||
|
||||
define $(package)_stage_cmds |
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install |
||||
endef |
||||
|
||||
define $(package)_postprocess_cmds |
||||
rm -rf lib include |
||||
endef |
@ -0,0 +1,80 @@
@@ -0,0 +1,80 @@
|
||||
package=native_cctools |
||||
$(package)_version=809 |
||||
$(package)_download_path=http://www.opensource.apple.com/tarballs/cctools |
||||
$(package)_file_name=cctools-$($(package)_version).tar.gz |
||||
$(package)_sha256_hash=03ba62749b843b131c7304a044a98c6ffacd65b1399b921d69add0375f79d8ad |
||||
$(package)_build_subdir=cctools2odcctools/odcctools-$($(package)_version) |
||||
$(package)_dependencies=native_libuuid native_openssl |
||||
$(package)_ld64_download_file=ld64-127.2.tar.gz |
||||
$(package)_ld64_download_path=http://www.opensource.apple.com/tarballs/ld64 |
||||
$(package)_ld64_file_name=$($(package)_ld64_download_file) |
||||
$(package)_ld64_sha256_hash=97b75547b2bd761306ab3e15ae297f01e7ab9760b922bc657f4ef72e4e052142 |
||||
$(package)_dyld_download_file=dyld-195.5.tar.gz |
||||
$(package)_dyld_download_path=http://www.opensource.apple.com/tarballs/dyld |
||||
$(package)_dyld_file_name=$($(package)_dyld_download_file) |
||||
$(package)_dyld_sha256_hash=2cf0484c87cf79b606b351a7055a247dae84093ae92c747a74e0cde2c8c8f83c |
||||
$(package)_toolchain4_download_file=10cc648683617cca8bcbeae507888099b41b530c.tar.gz |
||||
$(package)_toolchain4_download_path=https://github.com/mingwandroid/toolchain4/archive |
||||
$(package)_toolchain4_file_name=toolchain4-1.tar.gz |
||||
$(package)_toolchain4_sha256_hash=18406961fd4a1ec5c7ea35c91d6a80a2f8bb797a2bd243a610bd75e13eff9aca |
||||
$(package)_clang_download_file=clang+llvm-3.2-x86-linux-ubuntu-12.04.tar.gz |
||||
$(package)_clang_download_path=http://llvm.org/releases/3.2 |
||||
$(package)_clang_file_name=clang-llvm-3.2-x86-linux-ubuntu-12.04.tar.gz |
||||
$(package)_clang_sha256_hash=b9d57a88f9514fa1f327a1a703756d0c1c960f4c58494a5bd80313245d13ffff |
||||
|
||||
define $(package)_fetch_cmds |
||||
$(call fetch_file,$(package),$($(package)_download_path)/$($(package)_download_file),$($(package)_file_name),$($(package)_sha256_hash)) && \ |
||||
$(call fetch_file,$(package),$($(package)_ld64_download_path)/$($(package)_ld64_download_file),$($(package)_ld64_file_name),$($(package)_ld64_sha256_hash)) && \ |
||||
$(call fetch_file,$(package),$($(package)_dyld_download_path)/$($(package)_dyld_download_file),$($(package)_dyld_file_name),$($(package)_dyld_sha256_hash)) && \ |
||||
$(call fetch_file,$(package),$($(package)_clang_download_path)/$($(package)_clang_download_file),$($(package)_clang_file_name),$($(package)_clang_sha256_hash)) && \ |
||||
$(call fetch_file,$(package),$($(package)_toolchain4_download_path)/$($(package)_toolchain4_download_file),$($(package)_toolchain4_file_name),$($(package)_toolchain4_sha256_hash)) |
||||
endef |
||||
|
||||
define $(package)_set_vars |
||||
$(package)_config_opts=--target=$(host) --with-sysroot=$(OSX_SDK) |
||||
$(package)_cflags+=-m32 |
||||
$(package)_cxxflags+=-m32 |
||||
$(package)_cppflags+=-D__DARWIN_UNIX03 -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS |
||||
$(package)_ldflags+=-m32 -Wl,-rpath=\\$$$$$$$$\$$$$$$$$ORIGIN/../lib |
||||
$(package)_ldflags+=-L$$(native_cctools_extract_dir)/clang+llvm-3.2-x86-linux-ubuntu-12.04/lib |
||||
endef |
||||
define $(package)_extract_cmds |
||||
tar --strip-components=1 -xf $(SOURCES_PATH)/$($(package)_toolchain4_file_name) && \
|
||||
ln -sf $($(package)_source) cctools2odcctools/$($(package)_file_name) && \
|
||||
ln -sf $(SOURCES_PATH)/$($(package)_ld64_file_name) cctools2odcctools/$($(package)_ld64_file_name) && \
|
||||
ln -sf $(SOURCES_PATH)/$($(package)_dyld_file_name) cctools2odcctools/$($(package)_dyld_file_name) && \
|
||||
tar xf $(SOURCES_PATH)/$($(package)_clang_file_name) && \
|
||||
mkdir -p $(SDK_PATH) sdks &&\
|
||||
cd sdks; ln -sf $(OSX_SDK) MacOSX$(OSX_SDK_VERSION).sdk |
||||
endef |
||||
|
||||
define $(package)_preprocess_cmds |
||||
sed -i "s|GCC_DIR|LLVM_CLANG_DIR|g" cctools2odcctools/extract.sh && \
|
||||
sed -i "s|llvmgcc42-2336.1|clang+llvm-3.2-x86-linux-ubuntu-12.04|g" cctools2odcctools/extract.sh && \
|
||||
sed -i "s|/llvmCore/include/llvm-c|/include/llvm-c \$$$${LLVM_CLANG_DIR}/include/llvm |" cctools2odcctools/extract.sh && \
|
||||
sed -i "s|fAC_INIT|AC_INIT|" cctools2odcctools/files/configure.ac && \
|
||||
sed -i 's/\# Dynamically linked LTO/\t ;\&\n\t linux*)\n# Dynamically linked LTO/' cctools2odcctools/files/configure.ac && \
|
||||
cd cctools2odcctools; ./extract.sh --osxver $(OSX_SDK_VERSION) && \
|
||||
sed -i "s|define\tPC|define\tPC_|" odcctools-809/include/architecture/sparc/reg.h |
||||
endef |
||||
|
||||
define $(package)_config_cmds |
||||
$($(package)_autoconf) |
||||
endef |
||||
|
||||
define $(package)_build_cmds |
||||
$(MAKE) |
||||
endef |
||||
|
||||
define $(package)_stage_cmds |
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install && \
|
||||
cd ../../clang+llvm-3.2-x86-linux-ubuntu-12.04 && \
|
||||
mkdir -p $($(package)_staging_prefix_dir)/lib/clang/3.2/include && \
|
||||
mkdir -p $($(package)_staging_prefix_dir)/bin && \
|
||||
cp -P bin/clang bin/clang++ $($(package)_staging_prefix_dir)/bin/ &&\
|
||||
cp lib/libLTO.so $($(package)_staging_prefix_dir)/lib/ && \
|
||||
cp lib/clang/3.2/include/* $($(package)_staging_prefix_dir)/lib/clang/3.2/include/ && \
|
||||
echo "#!/bin/sh" > $($(package)_staging_prefix_dir)/bin/$(host)-dsymutil && \
|
||||
echo "exit 0" >> $($(package)_staging_prefix_dir)/bin/$(host)-dsymutil && \
|
||||
chmod +x $($(package)_staging_prefix_dir)/bin/$(host)-dsymutil |
||||
endef |
@ -0,0 +1,26 @@
@@ -0,0 +1,26 @@
|
||||
package=native_cdrkit |
||||
$(package)_version=1.1.11 |
||||
$(package)_download_path=http://distro.ibiblio.org/fatdog/source/c |
||||
$(package)_file_name=cdrkit-$($(package)_version).tar.bz2 |
||||
$(package)_sha256_hash=b50d64c214a65b1a79afe3a964c691931a4233e2ba605d793eb85d0ac3652564 |
||||
$(package)_patches=cdrkit-deterministic.patch |
||||
|
||||
define $(package)_preprocess_cmds |
||||
patch -p1 < $($(package)_patch_dir)/cdrkit-deterministic.patch |
||||
endef |
||||
|
||||
define $(package)_config_cmds |
||||
cmake -DCMAKE_INSTALL_PREFIX=$(build_prefix) |
||||
endef |
||||
|
||||
define $(package)_build_cmds |
||||
$(MAKE) genisoimage |
||||
endef |
||||
|
||||
define $(package)_stage_cmds |
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) -C genisoimage install |
||||
endef |
||||
|
||||
define $(package)_postprocess_cmds |
||||
rm bin/isovfy bin/isoinfo bin/isodump bin/isodebug bin/devdump |
||||
endef |
@ -0,0 +1,44 @@
@@ -0,0 +1,44 @@
|
||||
package=native_comparisontool |
||||
$(package)_version=1 |
||||
$(package)_download_path=https://github.com/TheBlueMatt/test-scripts/raw/master/BitcoindComparisonTool_jar |
||||
$(package)_file_name=BitcoindComparisonTool.jar |
||||
$(package)_sha256_hash=a08b1a55523e7f57768cb66c35f47a926710e5b6c82822e1ccfbe38fcce37db2 |
||||
$(package)_guava_file_name=guava-13.0.1.jar |
||||
$(package)_guava_sha256_hash=feb4b5b2e79a63b72ec47a693b1cf35cf1cea1f60a2bb2615bf21f74c7a60bb0 |
||||
$(package)_h2_file_name=h2-1.3.167.jar |
||||
$(package)_h2_sha256_hash=fa97521a2e72174485a96276bcf6f573d5e44ca6aba2f62de87b33b5bb0d4b91 |
||||
$(package)_sc-light-jdk15on_file_name=sc-light-jdk15on-1.47.0.2.jar |
||||
$(package)_sc-light-jdk15on_sha256_hash=931f39d351429fb96c2f749e7ecb1a256a8ebbf5edca7995c9cc085b94d1841d |
||||
$(package)_slf4j-api_file_name=slf4j-api-1.6.4.jar |
||||
$(package)_slf4j-api_sha256_hash=367b909030f714ee1176ab096b681e06348f03385e98d1bce0ed801b5452357e |
||||
$(package)_slf4j-jdk14_file_name=slf4j-jdk14-1.6.4.jar |
||||
$(package)_slf4j-jdk14_sha256_hash=064bd81796710f713f9f4a2309c0e032309934c2d2b4f7d3b6958325e584e13f |
||||
|
||||
define $(package)_fetch_cmds |
||||
$(call fetch_file,$(package),$($(package)_download_path)/$($(package)_file_name),$($(package)_file_name),$($(package)_sha256_hash)) && \ |
||||
$(call fetch_file,$(package),$($(package)_download_path)/$($(package)_guava_file_name),$($(package)_guava_file_name),$($(package)_guava_sha256_hash)) && \ |
||||
$(call fetch_file,$(package),$($(package)_download_path)/$($(package)_h2_file_name),$($(package)_h2_file_name),$($(package)_h2_sha256_hash)) && \ |
||||
$(call fetch_file,$(package),$($(package)_download_path)/$($(package)_sc-light-jdk15on_file_name),$($(package)_sc-light-jdk15on_file_name),$($(package)_sc-light-jdk15on_sha256_hash)) && \ |
||||
$(call fetch_file,$(package),$($(package)_download_path)/$($(package)_slf4j-api_file_name),$($(package)_slf4j-api_file_name),$($(package)_slf4j-api_sha256_hash)) && \ |
||||
$(call fetch_file,$(package),$($(package)_download_path)/$($(package)_slf4j-jdk14_file_name),$($(package)_slf4j-jdk14_file_name),$($(package)_slf4j-jdk14_sha256_hash)) |
||||
endef |
||||
|
||||
define $(package)_extract_cmds |
||||
echo none |
||||
endef |
||||
|
||||
define $(package)_configure_cmds |
||||
endef |
||||
|
||||
define $(package)_build_cmds |
||||
endef |
||||
|
||||
define $(package)_stage_cmds |
||||
mkdir -p $($(package)_staging_prefix_dir)/share/BitcoindComparisonTool_jar && \
|
||||
cp $(SOURCES_PATH)/$($(package)_file_name) $($(package)_staging_prefix_dir)/share/BitcoindComparisonTool_jar/ && \
|
||||
cp $(SOURCES_PATH)/$($(package)_guava_file_name) $($(package)_staging_prefix_dir)/share/BitcoindComparisonTool_jar/ && \
|
||||
cp $(SOURCES_PATH)/$($(package)_h2_file_name) $($(package)_staging_prefix_dir)/share/BitcoindComparisonTool_jar/ && \
|
||||
cp $(SOURCES_PATH)/$($(package)_sc-light-jdk15on_file_name) $($(package)_staging_prefix_dir)/share/BitcoindComparisonTool_jar/ && \
|
||||
cp $(SOURCES_PATH)/$($(package)_slf4j-api_file_name) $($(package)_staging_prefix_dir)/share/BitcoindComparisonTool_jar/ && \
|
||||
cp $(SOURCES_PATH)/$($(package)_slf4j-jdk14_file_name) $($(package)_staging_prefix_dir)/share/BitcoindComparisonTool_jar/ |
||||
endef |
@ -0,0 +1,22 @@
@@ -0,0 +1,22 @@
|
||||
package=native_libdmg-hfsplus |
||||
$(package)_version=0.1 |
||||
$(package)_download_path=https://github.com/theuni/libdmg-hfsplus/archive |
||||
$(package)_file_name=libdmg-hfsplus-v$($(package)_version).tar.gz |
||||
$(package)_sha256_hash=6569a02eb31c2827080d7d59001869ea14484c281efab0ae7f2b86af5c3120b3 |
||||
$(package)_build_subdir=build |
||||
|
||||
define $(package)_preprocess_cmds |
||||
mkdir build |
||||
endef |
||||
|
||||
define $(package)_config_cmds |
||||
cmake -DCMAKE_INSTALL_PREFIX:PATH=$(build_prefix)/bin .. |
||||
endef |
||||
|
||||
define $(package)_build_cmds |
||||
$(MAKE) -C dmg |
||||
endef |
||||
|
||||
define $(package)_stage_cmds |
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) -C dmg install |
||||
endef |
@ -0,0 +1,24 @@
@@ -0,0 +1,24 @@
|
||||
package:=native_libuuid |
||||
$(package)_version=1.41.14 |
||||
$(package)_download_path=http://downloads.sourceforge.net/e2fsprogs |
||||
$(package)_file_name=e2fsprogs-libs-$($(package)_version).tar.gz |
||||
$(package)_sha256_hash=dbc7a138a3218d9b80a0626b5b692d76934d6746d8cbb762751be33785d8d9f5 |
||||
|
||||
define $(package)_set_vars |
||||
$(package)_config_opts=--disable-elf-shlibs --disable-uuidd |
||||
$(package)_cflags+=-m32 |
||||
$(package)_ldflags+=-m32 |
||||
$(package)_cxxflags+=-m32 |
||||
endef |
||||
|
||||
define $(package)_config_cmds |
||||
$($(package)_autoconf) |
||||
endef |
||||
|
||||
define $(package)_build_cmds |
||||
$(MAKE) -C lib/uuid |
||||
endef |
||||
|
||||
define $(package)_stage_cmds |
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) -C lib/uuid install |
||||
endef |
@ -0,0 +1,21 @@
@@ -0,0 +1,21 @@
|
||||
package=native_openssl |
||||
$(package)_version=1.0.1h |
||||
$(package)_download_path=https://www.openssl.org/source |
||||
$(package)_file_name=openssl-$($(package)_version).tar.gz |
||||
$(package)_sha256_hash=9d1c8a9836aa63e2c6adb684186cbd4371c9e9dcc01d6e3bb447abf2d4d3d093 |
||||
define $(package)_set_vars |
||||
$(package)_build_config_opts= --prefix=$(build_prefix) no-zlib no-shared no-krb5C linux-generic32 -m32 |
||||
endef |
||||
|
||||
define $(package)_config_cmds |
||||
./Configure $($(package)_build_config_opts) &&\
|
||||
sed -i "s|engines apps test|engines|" Makefile |
||||
endef |
||||
|
||||
define $(package)_build_cmds |
||||
$(MAKE) -j1 |
||||
endef |
||||
|
||||
define $(package)_stage_cmds |
||||
$(MAKE) INSTALL_PREFIX=$($(package)_staging_dir) -j1 install_sw |
||||
endef |
@ -0,0 +1,25 @@
@@ -0,0 +1,25 @@
|
||||
package=native_protobuf |
||||
$(package)_version=2.5.0 |
||||
$(package)_download_path=https://protobuf.googlecode.com/files |
||||
$(package)_file_name=protobuf-$($(package)_version).tar.bz2 |
||||
$(package)_sha256_hash=13bfc5ae543cf3aa180ac2485c0bc89495e3ae711fc6fab4f8ffe90dfb4bb677 |
||||
|
||||
define $(package)_set_vars |
||||
$(package)_config_opts=--disable-shared |
||||
endef |
||||
|
||||
define $(package)_config_cmds |
||||
$($(package)_autoconf) |
||||
endef |
||||
|
||||
define $(package)_build_cmds |
||||
$(MAKE) -C src protoc |
||||
endef |
||||
|
||||
define $(package)_stage_cmds |
||||
$(MAKE) -C src DESTDIR=$($(package)_staging_dir) install-strip |
||||
endef |
||||
|
||||
define $(package)_postprocess_cmds |
||||
rm -rf lib include |
||||
endef |
@ -0,0 +1,40 @@
@@ -0,0 +1,40 @@
|
||||
package=openssl |
||||
$(package)_version=1.0.1h |
||||
$(package)_download_path=https://www.openssl.org/source |
||||
$(package)_file_name=$(package)-$($(package)_version).tar.gz |
||||
$(package)_sha256_hash=9d1c8a9836aa63e2c6adb684186cbd4371c9e9dcc01d6e3bb447abf2d4d3d093 |
||||
|
||||
define $(package)_set_vars |
||||
$(package)_config_env=AR="$($(package)_ar)" RANLIB="$($(package)_ranlib)" CC="$($(package)_cc)" |
||||
$(package)_config_opts=--prefix=$(host_prefix) --openssldir=$(host_prefix)/etc/openssl no-zlib no-shared no-dso |
||||
$(package)_config_opts+=no-krb5 no-camellia no-capieng no-cast no-cms no-dtls1 no-gost no-gmp no-heartbeats no-idea no-jpake no-md2 |
||||
$(package)_config_opts+=no-mdc2 no-rc5 no-rdrand no-rfc3779 no-rsax no-sctp no-seed no-sha0 no-static_engine no-whirlpool no-rc2 no-rc4 no-ssl3 |
||||
$(package)_config_opts+=$($(package)_cflags) |
||||
$(package)_config_opts_x86_64_linux=-fPIC linux-x86_64 |
||||
$(package)_config_opts_arm_linux=-fPIC linux-generic32 |
||||
$(package)_config_opts_x86_64_darwin=darwin64-x86_64-cc |
||||
$(package)_config_opts_x86_64_mingw32=mingw64 |
||||
$(package)_config_opts_i686_mingw32=mingw |
||||
$(package)_config_opts_i686_linux=linux-generic32 -fPIC |
||||
endef |
||||
|
||||
define $(package)_preprocess_cmds |
||||
sed -i.old "/define DATE/d" crypto/Makefile && \
|
||||
sed -i.old "s|engines apps test|engines|" Makefile.org |
||||
endef |
||||
|
||||
define $(package)_config_cmds |
||||
./Configure $($(package)_config_opts) |
||||
endef |
||||
|
||||
define $(package)_build_cmds |
||||
$(MAKE) -j1 build_libs libcrypto.pc libssl.pc openssl.pc |
||||
endef |
||||
|
||||
define $(package)_stage_cmds |
||||
$(MAKE) INSTALL_PREFIX=$($(package)_staging_dir) -j1 install_sw |
||||
endef |
||||
|
||||
define $(package)_postprocess_cmds |
||||
rm -rf share bin etc |
||||
endef |
@ -0,0 +1,14 @@
@@ -0,0 +1,14 @@
|
||||
packages:=boost openssl |
||||
native_packages := native_ccache native_comparisontool |
||||
|
||||
qt_native_packages = native_protobuf |
||||
qt_packages = qt qrencode protobuf |
||||
qt_linux_packages=expat dbus libxcb xcb_proto libXau xproto freetype fontconfig libX11 xextproto libXext xtrans |
||||
|
||||
wallet_packages=bdb |
||||
|
||||
upnp_packages=miniupnpc |
||||
|
||||
ifneq ($(build_os),darwin) |
||||
darwin_native_packages=native_libuuid native_openssl native_cctools native_cdrkit native_libdmg-hfsplus |
||||
endif |
@ -0,0 +1,28 @@
@@ -0,0 +1,28 @@
|
||||
package=protobuf |
||||
$(package)_version=$(native_$(package)_version) |
||||
$(package)_download_path=$(native_$(package)_download_path) |
||||
$(package)_file_name=$(native_$(package)_file_name) |
||||
$(package)_sha256_hash=$(native_$(package)_sha256_hash) |
||||
$(package)_dependencies=native_$(package) |
||||
|
||||
define $(package)_set_vars |
||||
$(package)_config_opts=--disable-shared --with-protoc=$(build_prefix)/bin/protoc |
||||
$(package)_config_opts_x86_64_linux=--with-pic |
||||
endef |
||||
|
||||
define $(package)_config_cmds |
||||
$($(package)_autoconf) |
||||
endef |
||||
|
||||
define $(package)_build_cmds |
||||
$(MAKE) -C src libprotobuf.la |
||||
endef |
||||
|
||||
define $(package)_stage_cmds |
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) -C src install-libLTLIBRARIES install-nobase_includeHEADERS &&\
|
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install-pkgconfigDATA |
||||
endef |
||||
|
||||
define $(package)_postprocess_cmds |
||||
rm lib/libprotoc.a |
||||
endef |
@ -0,0 +1,22 @@
@@ -0,0 +1,22 @@
|
||||
package=qrencode |
||||
$(package)_version=3.4.3 |
||||
$(package)_download_path=https://fukuchi.org/works/qrencode/ |
||||
$(package)_file_name=qrencode-$(qrencode_version).tar.bz2 |
||||
$(package)_sha256_hash=dfd71487513c871bad485806bfd1fdb304dedc84d2b01a8fb8e0940b50597a98 |
||||
|
||||
define $(package)_set_vars |
||||
$(package)_config_opts=--disable-shared -without-tools --disable-sdltest |
||||
$(package)_config_opts_x86_64_linux=--with-pic |
||||
endef |
||||
|
||||
define $(package)_config_cmds |
||||
$($(package)_autoconf) |
||||
endef |
||||
|
||||
define $(package)_build_cmds |
||||
$(MAKE) |
||||
endef |
||||
|
||||
define $(package)_stage_cmds |
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install |
||||
endef |
@ -0,0 +1,89 @@
@@ -0,0 +1,89 @@
|
||||
PACKAGE=qt |
||||
$(package)_version=5.2.1 |
||||
$(package)_download_path=http://download.qt-project.org/official_releases/qt/5.2/$($(package)_version)/single |
||||
$(package)_file_name=$(package)-everywhere-opensource-src-$($(package)_version).tar.gz |
||||
$(package)_sha256_hash=84e924181d4ad6db00239d87250cc89868484a14841f77fb85ab1f1dbdcd7da1 |
||||
$(package)_dependencies=openssl |
||||
$(package)_linux_dependencies=freetype fontconfig dbus libxcb libX11 xproto libXext |
||||
$(package)_build_subdir=qtbase |
||||
$(package)_qt_libs=corelib network widgets gui plugins testlib |
||||
$(package)_patches=mac-qmake.conf fix-xcb-include-order.patch |
||||
|
||||
define $(package)_set_vars |
||||
$(package)_config_opts = -release -opensource -confirm-license |
||||
$(package)_config_opts += -no-audio-backend -no-sql-tds -no-glib -no-icu |
||||
$(package)_config_opts += -no-cups -no-iconv -no-gif -no-audio-backend -no-freetype |
||||
$(package)_config_opts += -no-sql-sqlite -no-nis -no-cups -no-iconv -no-pch |
||||
$(package)_config_opts += -no-gif -no-feature-style-plastique |
||||
$(package)_config_opts += -no-qml-debug -no-pch -no-nis -nomake examples -nomake tests |
||||
$(package)_config_opts += -no-feature-style-cde -no-feature-style-s60 -no-feature-style-motif |
||||
$(package)_config_opts += -no-feature-style-windowsmobile -no-feature-style-windowsce |
||||
$(package)_config_opts += -no-feature-style-cleanlooks |
||||
$(package)_config_opts += -no-sql-db2 -no-sql-ibase -no-sql-oci -no-sql-tds -no-sql-mysql |
||||
$(package)_config_opts += -no-sql-odbc -no-sql-psql -no-sql-sqlite -no-sql-sqlite2 |
||||
$(package)_config_opts += -skip qtsvg -skip qtwebkit -skip qtwebkit-examples -skip qtserialport |
||||
$(package)_config_opts += -skip qtdeclarative -skip qtmultimedia -skip qtimageformats -skip qtx11extras |
||||
$(package)_config_opts += -skip qtlocation -skip qtsensors -skip qtquick1 -skip qtxmlpatterns |
||||
$(package)_config_opts += -skip qtquickcontrols -skip qtactiveqt -skip qtconnectivity -skip qtmacextras |
||||
$(package)_config_opts += -skip qtwinextras -skip qtxmlpatterns -skip qtscript -skip qtdoc |
||||
|
||||
$(package)_config_opts += -prefix $(host_prefix) -bindir $(build_prefix)/bin |
||||
$(package)_config_opts += -no-c++11 -openssl-linked -v -static -silent -pkg-config |
||||
$(package)_config_opts += -qt-libpng -qt-libjpeg -qt-zlib -qt-pcre |
||||
|
||||
ifneq ($(build_os),darwin) |
||||
$(package)_config_opts_darwin = -xplatform macx-clang-linux -device-option MAC_SDK_PATH=$(OSX_SDK) -device-option CROSS_COMPILE="$(host)-" |
||||
$(package)_config_opts_darwin += -device-option MAC_MIN_VERSION=$(OSX_MIN_VERSION) -device-option MAC_TARGET=$(host) |
||||
endif |
||||
|
||||
$(package)_config_opts_linux = -qt-xkbcommon -qt-xcb -no-eglfs -no-linuxfb -system-freetype -no-sm -fontconfig -no-xinput2 -no-libudev -no-egl -no-opengl |
||||
$(package)_config_opts_arm_linux = -platform linux-g++ -xplatform $(host) |
||||
$(package)_config_opts_i686_linux = -xplatform linux-g++-32 |
||||
$(package)_config_opts_mingw32 = -no-opengl -xplatform win32-g++ -device-option CROSS_COMPILE="$(host)-" |
||||
$(package)_build_env = QT_RCC_TEST=1 |
||||
endef |
||||
|
||||
define $(package)_preprocess_cmds |
||||
sed -i.old "s|updateqm.commands = \$$$$\$$$$LRELEASE|updateqm.commands = $($(package)_extract_dir)/qttools/bin/lrelease|" qttranslations/translations/translations.pro && \
|
||||
sed -i.old "s/src_plugins.depends = src_sql src_xml src_network/src_plugins.depends = src_xml src_network/" qtbase/src/src.pro && \
|
||||
sed -i.old "/XIproto.h/d" qtbase/src/plugins/platforms/xcb/qxcbxsettings.cpp && \
|
||||
mkdir -p qtbase/mkspecs/macx-clang-linux &&\
|
||||
cp -f qtbase/mkspecs/macx-clang/Info.plist.lib qtbase/mkspecs/macx-clang-linux/ &&\
|
||||
cp -f qtbase/mkspecs/macx-clang/Info.plist.app qtbase/mkspecs/macx-clang-linux/ &&\
|
||||
cp -f qtbase/mkspecs/macx-clang/qplatformdefs.h qtbase/mkspecs/macx-clang-linux/ &&\
|
||||
cp -f $($(package)_patch_dir)/mac-qmake.conf qtbase/mkspecs/macx-clang-linux/qmake.conf && \
|
||||
patch -p1 < $($(package)_patch_dir)/fix-xcb-include-order.patch |
||||
endef |
||||
|
||||
define $(package)_config_cmds |
||||
export PKG_CONFIG_SYSROOT_DIR=/ && \
|
||||
export PKG_CONFIG_LIBDIR=$(host_prefix)/lib/pkgconfig && \
|
||||
export PKG_CONFIG_PATH=$(host_prefix)/share/pkgconfig && \
|
||||
export CPATH=$(host_prefix)/include && \
|
||||
./configure $($(package)_config_opts) && \
|
||||
$(MAKE) sub-src-clean && \
|
||||
cd ../qttranslations && ../qtbase/bin/qmake qttranslations.pro -o Makefile && \
|
||||
cd translations && ../../qtbase/bin/qmake translations.pro -o Makefile && cd ../.. &&\
|
||||
cd qttools/src/linguist/lrelease/ && ../../../../qtbase/bin/qmake lrelease.pro -o Makefile |
||||
endef |
||||
|
||||
define $(package)_build_cmds |
||||
export CPATH=$(host_prefix)/include && \
|
||||
$(MAKE) -C src $(addprefix sub-,$($(package)_qt_libs)) && \
|
||||
$(MAKE) -C ../qttools/src/linguist/lrelease && \
|
||||
$(MAKE) -C ../qttranslations |
||||
endef |
||||
|
||||
define $(package)_stage_cmds |
||||
$(MAKE) -C src INSTALL_ROOT=$($(package)_staging_dir) $(addsuffix -install_subtargets,$(addprefix sub-,$($(package)_qt_libs))) && cd .. &&\
|
||||
$(MAKE) -C qttools/src/linguist/lrelease INSTALL_ROOT=$($(package)_staging_dir) install_target && \
|
||||
$(MAKE) -C qttranslations INSTALL_ROOT=$($(package)_staging_dir) install_subtargets && \
|
||||
if `test -f qtbase/src/plugins/platforms/xcb/xcb-static/libxcb-static.a`; then \
|
||||
cp qtbase/src/plugins/platforms/xcb/xcb-static/libxcb-static.a $($(package)_staging_prefix_dir)/lib; \
|
||||
fi |
||||
endef |
||||
|
||||
define $(package)_postprocess_cmds |
||||
rm -rf mkspecs/ lib/cmake/ && \
|
||||
rm lib/libQt5Bootstrap.a lib/lib*.la lib/lib*.prl |
||||
endef |
@ -0,0 +1,27 @@
@@ -0,0 +1,27 @@
|
||||
package=xcb_proto |
||||
$(package)_version=1.10 |
||||
$(package)_download_path=http://xcb.freedesktop.org/dist |
||||
$(package)_file_name=xcb-proto-$($(package)_version).tar.bz2 |
||||
$(package)_sha256_hash=7ef40ddd855b750bc597d2a435da21e55e502a0fefa85b274f2c922800baaf05 |
||||
|
||||
define $(package)_set_vars |
||||
$(package)_config_opts=--disable-shared |
||||
$(package)_config_opts_x86_64_linux=--with-pic |
||||
endef |
||||
|
||||
define $(package)_config_cmds |
||||
$($(package)_autoconf) |
||||
endef |
||||
|
||||
define $(package)_build_cmds |
||||
$(MAKE) |
||||
endef |
||||
|
||||
define $(package)_stage_cmds |
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install |
||||
endef |
||||
|
||||
define $(package)_postprocess_cmds |
||||
find -name "*.pyc" -delete && \
|
||||
find -name "*.pyo" -delete |
||||
endef |
@ -0,0 +1,21 @@
@@ -0,0 +1,21 @@
|
||||
package=xextproto |
||||
$(package)_version=7.3.0 |
||||
$(package)_download_path=http://xorg.freedesktop.org/releases/individual/proto |
||||
$(package)_file_name=$(package)-$($(package)_version).tar.bz2 |
||||
$(package)_sha256_hash=f3f4b23ac8db9c3a9e0d8edb591713f3d70ef9c3b175970dd8823dfc92aa5bb0 |
||||
|
||||
define $(package)_set_vars |
||||
$(package)_config_opts=--disable-shared |
||||
endef |
||||
|
||||
define $(package)_config_cmds |
||||
$($(package)_autoconf) |
||||
endef |
||||
|
||||
define $(package)_build_cmds |
||||
$(MAKE) |
||||
endef |
||||
|
||||
define $(package)_stage_cmds |
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install |
||||
endef |
@ -0,0 +1,21 @@
@@ -0,0 +1,21 @@
|
||||
package=xproto |
||||
$(package)_version=7.0.26 |
||||
$(package)_download_path=http://xorg.freedesktop.org/releases/individual/proto |
||||
$(package)_file_name=$(package)-$($(package)_version).tar.bz2 |
||||
$(package)_sha256_hash=636162c1759805a5a0114a369dffdeccb8af8c859ef6e1445f26a4e6e046514f |
||||
|
||||
define $(package)_set_vars |
||||
$(package)_config_opts=--disable-shared |
||||
endef |
||||
|
||||
define $(package)_config_cmds |
||||
$($(package)_autoconf) |
||||
endef |
||||
|
||||
define $(package)_build_cmds |
||||
$(MAKE) |
||||
endef |
||||
|
||||
define $(package)_stage_cmds |
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install |
||||
endef |
@ -0,0 +1,22 @@
@@ -0,0 +1,22 @@
|
||||
package=xtrans |
||||
$(package)_version=1.3.4 |
||||
$(package)_download_path=http://xorg.freedesktop.org/releases/individual/lib/ |
||||
$(package)_file_name=$(package)-$($(package)_version).tar.bz2 |
||||
$(package)_sha256_hash=054d4ee3efd52508c753e9f7bc655ef185a29bd2850dd9e2fc2ccc33544f583a |
||||
$(package)_dependencies= |
||||
|
||||
define $(package)_set_vars |
||||
$(package)_config_opts_x86_64_linux=--with-pic --disable-static |
||||
endef |
||||
|
||||
define $(package)_config_cmds |
||||
$($(package)_autoconf) |
||||
endef |
||||
|
||||
define $(package)_build_cmds |
||||
$(MAKE) |
||||
endef |
||||
|
||||
define $(package)_stage_cmds |
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install |
||||
endef |
@ -0,0 +1,35 @@
@@ -0,0 +1,35 @@
|
||||
diff --git a/include/boost/atomic/detail/cas128strong.hpp b/include/boost/atomic/detail/cas128strong.hpp
|
||||
index 906c13e..dcb4d7d 100644
|
||||
--- a/include/boost/atomic/detail/cas128strong.hpp
|
||||
+++ b/include/boost/atomic/detail/cas128strong.hpp
|
||||
@@ -196,15 +196,17 @@ class base_atomic<T, void, 16, Sign>
|
||||
|
||||
public: |
||||
BOOST_DEFAULTED_FUNCTION(base_atomic(void), {}) |
||||
- explicit base_atomic(value_type const& v) BOOST_NOEXCEPT : v_(0)
|
||||
+ explicit base_atomic(value_type const& v) BOOST_NOEXCEPT
|
||||
{ |
||||
+ memset(&v_, 0, sizeof(v_));
|
||||
memcpy(&v_, &v, sizeof(value_type)); |
||||
} |
||||
|
||||
void |
||||
store(value_type const& value, memory_order order = memory_order_seq_cst) volatile BOOST_NOEXCEPT |
||||
{ |
||||
- storage_type value_s = 0;
|
||||
+ storage_type value_s;
|
||||
+ memset(&value_s, 0, sizeof(value_s));
|
||||
memcpy(&value_s, &value, sizeof(value_type)); |
||||
platform_fence_before_store(order); |
||||
platform_store128(value_s, &v_); |
||||
@@ -247,7 +249,9 @@ class base_atomic<T, void, 16, Sign>
|
||||
memory_order success_order, |
||||
memory_order failure_order) volatile BOOST_NOEXCEPT |
||||
{ |
||||
- storage_type expected_s = 0, desired_s = 0;
|
||||
+ storage_type expected_s, desired_s;
|
||||
+ memset(&expected_s, 0, sizeof(expected_s));
|
||||
+ memset(&desired_s, 0, sizeof(desired_s));
|
||||
memcpy(&expected_s, &expected, sizeof(value_type)); |
||||
memcpy(&desired_s, &desired, sizeof(value_type)); |
||||
|
@ -0,0 +1,55 @@
@@ -0,0 +1,55 @@
|
||||
diff --git a/include/boost/atomic/detail/gcc-atomic.hpp b/include/boost/atomic/detail/gcc-atomic.hpp
|
||||
index a130590..4af99a1 100644
|
||||
--- a/include/boost/atomic/detail/gcc-atomic.hpp
|
||||
+++ b/include/boost/atomic/detail/gcc-atomic.hpp
|
||||
@@ -958,14 +958,16 @@ class base_atomic<T, void, 16, Sign>
|
||||
|
||||
public: |
||||
BOOST_DEFAULTED_FUNCTION(base_atomic(void), {}) |
||||
- explicit base_atomic(value_type const& v) BOOST_NOEXCEPT : v_(0)
|
||||
+ explicit base_atomic(value_type const& v) BOOST_NOEXCEPT
|
||||
{ |
||||
+ memset(&v_, 0, sizeof(v_));
|
||||
memcpy(&v_, &v, sizeof(value_type)); |
||||
} |
||||
|
||||
void store(value_type const& v, memory_order order = memory_order_seq_cst) volatile BOOST_NOEXCEPT |
||||
{ |
||||
- storage_type tmp = 0;
|
||||
+ storage_type tmp;
|
||||
+ memset(&tmp, 0, sizeof(tmp));
|
||||
memcpy(&tmp, &v, sizeof(value_type)); |
||||
__atomic_store_n(&v_, tmp, atomics::detail::convert_memory_order_to_gcc(order)); |
||||
} |
||||
@@ -980,7 +982,8 @@ class base_atomic<T, void, 16, Sign>
|
||||
|
||||
value_type exchange(value_type const& v, memory_order order = memory_order_seq_cst) volatile BOOST_NOEXCEPT |
||||
{ |
||||
- storage_type tmp = 0;
|
||||
+ storage_type tmp;
|
||||
+ memset(&tmp, 0, sizeof(tmp));
|
||||
memcpy(&tmp, &v, sizeof(value_type)); |
||||
tmp = __atomic_exchange_n(&v_, tmp, atomics::detail::convert_memory_order_to_gcc(order)); |
||||
value_type res; |
||||
@@ -994,7 +997,9 @@ class base_atomic<T, void, 16, Sign>
|
||||
memory_order success_order, |
||||
memory_order failure_order) volatile BOOST_NOEXCEPT |
||||
{ |
||||
- storage_type expected_s = 0, desired_s = 0;
|
||||
+ storage_type expected_s, desired_s;
|
||||
+ memset(&expected_s, 0, sizeof(expected_s));
|
||||
+ memset(&desired_s, 0, sizeof(desired_s));
|
||||
memcpy(&expected_s, &expected, sizeof(value_type)); |
||||
memcpy(&desired_s, &desired, sizeof(value_type)); |
||||
const bool success = __atomic_compare_exchange_n(&v_, &expected_s, desired_s, false, |
||||
@@ -1010,7 +1015,9 @@ class base_atomic<T, void, 16, Sign>
|
||||
memory_order success_order, |
||||
memory_order failure_order) volatile BOOST_NOEXCEPT |
||||
{ |
||||
- storage_type expected_s = 0, desired_s = 0;
|
||||
+ storage_type expected_s, desired_s;
|
||||
+ memset(&expected_s, 0, sizeof(expected_s));
|
||||
+ memset(&desired_s, 0, sizeof(desired_s));
|
||||
memcpy(&expected_s, &expected, sizeof(value_type)); |
||||
memcpy(&desired_s, &desired, sizeof(value_type)); |
||||
const bool success = __atomic_compare_exchange_n(&v_, &expected_s, desired_s, true, |
@ -0,0 +1,86 @@
@@ -0,0 +1,86 @@
|
||||
--- cdrkit-1.1.11.old/genisoimage/tree.c 2008-10-21 19:57:47.000000000 -0400
|
||||
+++ cdrkit-1.1.11/genisoimage/tree.c 2013-12-06 00:23:18.489622668 -0500
|
||||
@@ -1139,8 +1139,9 @@
|
||||
scan_directory_tree(struct directory *this_dir, char *path, |
||||
struct directory_entry *de) |
||||
{ |
||||
- DIR *current_dir;
|
||||
+ int current_file;
|
||||
char whole_path[PATH_MAX]; |
||||
+ struct dirent **d_list;
|
||||
struct dirent *d_entry; |
||||
struct directory *parent; |
||||
int dflag; |
||||
@@ -1164,7 +1165,8 @@
|
||||
this_dir->dir_flags |= DIR_WAS_SCANNED; |
||||
|
||||
errno = 0; /* Paranoia */ |
||||
- current_dir = opendir(path);
|
||||
+ //current_dir = opendir(path);
|
||||
+ current_file = scandir(path, &d_list, NULL, alphasort);
|
||||
d_entry = NULL; |
||||
|
||||
/* |
||||
@@ -1173,12 +1175,12 @@
|
||||
*/ |
||||
old_path = path; |
||||
|
||||
- if (current_dir) {
|
||||
+ if (current_file >= 0) {
|
||||
errno = 0; |
||||
- d_entry = readdir(current_dir);
|
||||
+ d_entry = d_list[0];
|
||||
} |
||||
|
||||
- if (!current_dir || !d_entry) {
|
||||
+ if (current_file < 0 || !d_entry) {
|
||||
int ret = 1; |
||||
|
||||
#ifdef USE_LIBSCHILY |
||||
@@ -1191,8 +1193,8 @@
|
||||
de->isorec.flags[0] &= ~ISO_DIRECTORY; |
||||
ret = 0; |
||||
} |
||||
- if (current_dir)
|
||||
- closedir(current_dir);
|
||||
+ if(d_list)
|
||||
+ free(d_list);
|
||||
return (ret); |
||||
} |
||||
#ifdef ABORT_DEEP_ISO_ONLY |
||||
@@ -1208,7 +1210,7 @@
|
||||
errmsgno(EX_BAD, "use Rock Ridge extensions via -R or -r,\n"); |
||||
errmsgno(EX_BAD, "or allow deep ISO9660 directory nesting via -D.\n"); |
||||
} |
||||
- closedir(current_dir);
|
||||
+ free(d_list);
|
||||
return (1); |
||||
} |
||||
#endif |
||||
@@ -1250,13 +1252,13 @@
|
||||
* The first time through, skip this, since we already asked |
||||
* for the first entry when we opened the directory. |
||||
*/ |
||||
- if (dflag)
|
||||
- d_entry = readdir(current_dir);
|
||||
+ if (dflag && current_file >= 0)
|
||||
+ d_entry = d_list[current_file];
|
||||
dflag++; |
||||
|
||||
- if (!d_entry)
|
||||
+ if (current_file < 0)
|
||||
break; |
||||
-
|
||||
+ current_file--;
|
||||
/* OK, got a valid entry */ |
||||
|
||||
/* If we do not want all files, then pitch the backups. */ |
||||
@@ -1348,7 +1350,7 @@
|
||||
insert_file_entry(this_dir, whole_path, d_entry->d_name); |
||||
#endif /* APPLE_HYB */ |
||||
} |
||||
- closedir(current_dir);
|
||||
+ free(d_list);
|
||||
|
||||
#ifdef APPLE_HYB |
||||
/* |
@ -0,0 +1,21 @@
@@ -0,0 +1,21 @@
|
||||
--- old/qtbase/src/plugins/platforms/xcb/xcb-plugin.pro 2014-07-30 18:17:27.384458441 -0400
|
||||
+++ new/qtbase/src/plugins/platforms/xcb/xcb-plugin.pro 2014-07-30 18:18:28.620459303 -0400
|
||||
@@ -101,10 +101,6 @@
|
||||
} |
||||
} |
||||
|
||||
-DEFINES += $$QMAKE_DEFINES_XCB
|
||||
-LIBS += $$QMAKE_LIBS_XCB
|
||||
-QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_XCB
|
||||
-
|
||||
CONFIG += qpa/genericunixfontdatabase |
||||
|
||||
contains(QT_CONFIG, dbus) { |
||||
@@ -141,3 +137,7 @@
|
||||
INCLUDEPATH += ../../../3rdparty/xkbcommon/xkbcommon/ |
||||
} |
||||
} |
||||
+
|
||||
+DEFINES += $$QMAKE_DEFINES_XCB
|
||||
+LIBS += $$QMAKE_LIBS_XCB
|
||||
+INCLUDEPATH += $$QMAKE_CFLAGS_XCB
|
@ -0,0 +1,23 @@
@@ -0,0 +1,23 @@
|
||||
MAKEFILE_GENERATOR = UNIX |
||||
CONFIG += app_bundle incremental global_init_link_order lib_version_first plugin_no_soname absolute_library_soname |
||||
QMAKE_INCREMENTAL_STYLE = sublib |
||||
include(../common/macx.conf) |
||||
include(../common/gcc-base-mac.conf) |
||||
include(../common/clang.conf) |
||||
include(../common/clang-mac.conf) |
||||
QMAKE_MAC_SDK_PATH=$${MAC_SDK_PATH} |
||||
QMAKE_XCODE_VERSION=4.3 |
||||
QMAKE_XCODE_DEVELOPER_PATH=/Developer |
||||
QMAKE_MACOSX_DEPLOYMENT_TARGET = $${MAC_MIN_VERSION} |
||||
QMAKE_MAC_SDK=macosx |
||||
QMAKE_MAC_SDK.macosx.path = $$QMAKE_MAC_SDK_PATH |
||||
QMAKE_MAC_SDK.macosx.platform_name = macosx |
||||
QMAKE_CFLAGS += -target $${MAC_TARGET} |
||||
QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_CFLAGS |
||||
QMAKE_CXXFLAGS += $$QMAKE_CFLAGS |
||||
QMAKE_LFLAGS += -target $${MAC_TARGET} |
||||
QMAKE_AR = $${CROSS_COMPILE}ar cq |
||||
QMAKE_RANLIB=$${CROSS_COMPILE}ranlib |
||||
QMAKE_LIBTOOL=$${CROSS_COMPILE}libtool |
||||
QMAKE_INSTALL_NAME_TOOL=$${CROSS_COMPILE}install_name_tool |
||||
load(qt_config) |
Loading…
Reference in new issue