builder: update core dists and macOS build
cmake: Add cmake option `DISABLE_MACOS_PACKAGE_MANAGERS` to disable automatically using macOS Homebrew, MacPorts or Fink. Use `-Ofast` instead of `-O2` for default compiler optimization flags, which enables `-ffast-math` among a few other tweaks. There is a lot of controversy about this, but in our testing on MSVC with `/fp:fast` the performance increase for this specific app is dramatic. Update version regexps on the SFML headers in `FindSFML.cmake` to allow for a variable number of spaces between the macro and its definition. Update the version of the Sparkle update checker framework for macOS from 1.23.0 to 2.3.0-beta.2, and add a command to the cmake commands for copying the framework to the `.app` to delete it first if already copied. Builder dist changes: Updates: dist old v new v ============================================================== xz 5.2.4 5.2.6 openssl 1.1.1f 1.1.1g curl 7.65.3 7.85.0 ccache 3.4.3 4.6.3 cmake 3.19.4 3.24.1 autoconf 2.69 2.71 autoconf-archive 2017.09.28 2022.09.03 libtool 2.4.6 2.4.7 help2man 1.47.5 1.49.2 libiconv 1.16 1.17 gsed 4.4 4.8 bison 3.0.5 3.8.2 texinfo 6.5 6.8 flex e7d45afc ea6493d9 libicu 65_1 71_1 nasm 2.14.02 2.15.05 pcre 8.41 8.45 libffi 3.2.1 3.4.2 libxml2 2.9.12 2.10.2 libxslt 1.1.33-rc2 1.1.37 XML-SAX 0.99 1.02 expat 2.2.4 2.4.8 libjpeg-turbo 2.0.4 2.1.4 libtiff 4.1.0 4.4.0 freetype 2.10.0 2.12.1 libgd 2.2.5 2.3.3 liberation 2.0.1 2.1.5 urw 91edd6ec 20200910 graphviz 4bf0ec9b 5.0.1 python2 2.7.15 2.7.18 python3 3.9.1 3.10.6 swig 3.0.12 4.0.2 doxygen 1.8.14 1.9.5 bakefile 33c270a5 7a218d89 XML-Parser 2.44 2.46 ninja 1.9.0 1.11.1 meson 0.51.2 0.63.2 glib 2.62.2 51251940 libgpg-error 1.41 1.45 libgcrypt 1.8.5 1.10.1 libsecret 0.19.1 0.20.5 sdl2 2.0.10 2.24.0 flac 1.3.3 1.3.4 libogg 1.3.4 1.3.5 libvorbis 1.3.6 1.3.7 harfbuzz 1.7.5 5.1.0 sfml 03375688 2.5.1 shared-mime-info 1.9 2.2 wxwidgets 9cc0c9a0 31720e1e graphite2 ce0e793f 425da3d0 xvidcore 1.3.5 1.3.7 fribidi 1.0.1 1.0.12 libgsm 1.0.18 1.0.22 libmodplug 5a39f591 d1b97ed0 libopencore-amrnb 0.1.5 0.1.6 snappy 1.1.7 af720f9a speex 1.2.0 1.2.1 vidstab 1.1.0 90c76aca libvo-amrwbenc 0.1.3 3b3fcd0d libass 0.14.0 0.16.0 libbluray 1.1.2 1.3.2 libvpx 1.8.1 1.12.0 libx264 20190913-2245 f7074e12 libxavs distrotech-xavs-git 8300fbf4 libzmq 4.2.2 4.3.4 ffmpeg 4.3.1 5.1.1 Removed dists: dist ver ========================= zlib 1.2.11 pkgconfig 0.29.2 docbook5.0 5.0 libwavpack 5.1.0 Added dists: dist ver ======================== zlib-ng ce01b1e4 zstd 1.5.2 hiredis 1.0.2 pkgconf 1.9.3 pcre2 10.40 docbook5.0.1 5.0.1 docbook5.1 5.1 Changes: Update all non-working dist URLs. Replace zlib 1.2.11 with a recent zlib-ng built with `--zlib-compat`. Add zstd and hiredis, new deps of ccache. Replace pkgconfig with pkgconf. Use both pcre1 and pcre2. Remove the libxml2-python dist alias and rebuild libxml2 `--with-python` and `--with-python3` after python 2 and 3 have built. Remove libwavpack as ffmpeg 5 no longer uses it as a dependency. Builder core: Rename some of the directories and files to be a bit nicer. Add `-Ofast -march=core2 -mtune=generic -pipe` to the global `{C,CXX,OBJC,LD}FLAGS`. These are the optimization settings used by default in the project as well, while `-pipe` significantly reduces build time by making the compiler use pipes internally. Add `-DFLOAT_APPROX` to the global `{CPP,C,CXX,OBJC}FLAGS` because we are now using `-Ofast` and consequently, `-ffast-math`. Set the `LIBRARY_PATH` variable in the global environment. Make some adjustments for the new dist versions and make some other improvements. macOS builder fixes (tested on High Sierra 10.13 and Catalina 10.15): Add support for predefined BUILD_ROOT and append BUILD_ROOT_SUFFIX. Allow pre-defined CHECKOUT directory for building the project sources. Sanitize `PATH` before build to remove `/usr/local` etc., use /usr/local/bin/brew explicitly for deps instead. If llvm and clang is installed from nix or brew, prepend the path of the highest version found to `PATH`. Remove `-lm` from build environment as macOS has never had an `m` math library and this causes problems in some config checks. Add LLVM `libunwind` from the LLVM archive. Add a patch for `glib`'s `meson.build` to statically link `gettext`/`libintl`, adds `-liconv -framework CoreFoundation`. Add an extra location to check for `stdint.h` in XCode. Signed-off-by: Rafael Kitover <rkitover@gmail.com>
This commit is contained in:
parent
d6aa168718
commit
61b503ada4
|
@ -363,8 +363,10 @@ if(MSYS AND CMAKE_CXX_COMPILER_ID STREQUAL Clang)
|
|||
set(CMAKE_PREFIX_PATH "${CMAKE_PREFIX_PATH}" CACHE INTERNAL "prefix search path for find_XXXX" FORCE)
|
||||
endif()
|
||||
|
||||
# Add support for Homebrew, MacPorts and Fink on OS X
|
||||
if(APPLE)
|
||||
# Add support for Homebrew, MacPorts and Fink on macOS
|
||||
option(DISABLE_MACOS_PACKAGE_MANAGERS "Set to TRUE to disable support for macOS Homebrew, MacPorts and Fink." FALSE)
|
||||
|
||||
if(APPLE AND NOT DISABLE_MACOS_PACKAGE_MANAGERS)
|
||||
include(MacPackageManagers)
|
||||
endif()
|
||||
|
||||
|
@ -609,10 +611,10 @@ if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID STREQUAL Clang AND NOT MSVC
|
|||
|
||||
# common optimization flags
|
||||
if(NOT (APPLE AND CMAKE_CXX_COMPILER_ID STREQUAL Clang AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.3))
|
||||
set(MY_C_OPT_FLAGS ${MY_C_OPT_FLAGS} -O2 -fomit-frame-pointer ${LTO_FLAGS})
|
||||
set(MY_C_OPT_FLAGS ${MY_C_OPT_FLAGS} -Ofast -fomit-frame-pointer ${LTO_FLAGS})
|
||||
else()
|
||||
# LTO and -fomit-frame-pointer generate broken binaries on Lion with XCode 4.2 tools
|
||||
set(MY_C_OPT_FLAGS ${MY_C_OPT_FLAGS} -O2)
|
||||
set(MY_C_OPT_FLAGS ${MY_C_OPT_FLAGS} -Ofast)
|
||||
endif()
|
||||
|
||||
# Common flags.
|
||||
|
@ -620,15 +622,22 @@ if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID STREQUAL Clang AND NOT MSVC
|
|||
|
||||
include(CheckCXXCompilerFlag)
|
||||
|
||||
# Optimize for Core2 and tune for Rocketlake on macOS and Zen3 for the rest
|
||||
# on X86_64.
|
||||
# Require and optimize for Core2 level support, tune for generic.
|
||||
if(X86_64)
|
||||
set(MY_C_FLAGS ${MY_C_FLAGS} -march=core2 -mtune=generic)
|
||||
# Optimize for pentium-mmx and tune for Core2 on X86_32.
|
||||
# Optimize for pentium-mmx and tune for generic for older XP builds.
|
||||
elseif(X86_32)
|
||||
set(MY_C_FLAGS ${MY_C_FLAGS} -march=pentium-mmx -mtune=core2)
|
||||
set(MY_C_FLAGS ${MY_C_FLAGS} -march=pentium-mmx -mtune=generic)
|
||||
endif()
|
||||
|
||||
# Check for -fopenmp=libomp on clang.
|
||||
# if(CMAKE_CXX_COMPILER_ID STREQUAL Clang)
|
||||
# check_cxx_compiler_flag("-fopenmp=libomp" FOPENMP_LIBOMP_FLAG)
|
||||
# if(FOPENMP_LIBOMP_FLAG)
|
||||
# set(MY_C_FLAGS ${MY_C_FLAGS} -fopenmp=libomp)
|
||||
# endif()
|
||||
# endif()
|
||||
|
||||
# common debug flags
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
set(MY_C_DBG_FLAGS -ggdb3 -Og -fno-omit-frame-pointer)
|
||||
|
|
|
@ -89,9 +89,9 @@ if(SFML_FIND_VERSION AND SFML_INCLUDE_DIR)
|
|||
set(SFML_CONFIG_HPP_INPUT "${SFML_INCLUDE_DIR}/SFML/Config.hpp")
|
||||
endif()
|
||||
FILE(READ "${SFML_CONFIG_HPP_INPUT}" SFML_CONFIG_HPP_CONTENTS)
|
||||
STRING(REGEX REPLACE ".*#define SFML_VERSION_MAJOR ([0-9]+).*" "\\1" SFML_VERSION_MAJOR "${SFML_CONFIG_HPP_CONTENTS}")
|
||||
STRING(REGEX REPLACE ".*#define SFML_VERSION_MINOR ([0-9]+).*" "\\1" SFML_VERSION_MINOR "${SFML_CONFIG_HPP_CONTENTS}")
|
||||
STRING(REGEX REPLACE ".*#define SFML_VERSION_PATCH ([0-9]+).*" "\\1" SFML_VERSION_PATCH "${SFML_CONFIG_HPP_CONTENTS}")
|
||||
STRING(REGEX REPLACE ".*#define *SFML_VERSION_MAJOR *([0-9]+).*" "\\1" SFML_VERSION_MAJOR "${SFML_CONFIG_HPP_CONTENTS}")
|
||||
STRING(REGEX REPLACE ".*#define *SFML_VERSION_MINOR *([0-9]+).*" "\\1" SFML_VERSION_MINOR "${SFML_CONFIG_HPP_CONTENTS}")
|
||||
STRING(REGEX REPLACE ".*#define *SFML_VERSION_PATCH *([0-9]+).*" "\\1" SFML_VERSION_PATCH "${SFML_CONFIG_HPP_CONTENTS}")
|
||||
if (NOT "${SFML_VERSION_PATCH}" MATCHES "^[0-9]+$")
|
||||
set(SFML_VERSION_PATCH 0)
|
||||
endif()
|
||||
|
|
|
@ -946,8 +946,8 @@ if(NOT TRANSLATIONS_ONLY)
|
|||
if(APPLE AND ENABLE_ONLINEUPDATES)
|
||||
include(FetchContent)
|
||||
FetchContent_Declare(Sparkle
|
||||
URL "https://github.com/sparkle-project/Sparkle/releases/download/1.23.0/Sparkle-1.23.0.tar.bz2"
|
||||
URL_HASH SHA512=fa7e9736d4319bf839cd5e11177d1ddac78c38048be7e59b5c94ea76c9ffc02919dd17890295d21b7f0e35afe0ec9aba9ba36912caed6e5017420345f9f66682
|
||||
URL "https://github.com/sparkle-project/Sparkle/releases/download/2.3.0-beta.2/Sparkle-2.3.0-beta.2.tar.xz"
|
||||
URL_HASH SHA256=6875388aae23c1705c3956c62a9c967f4b788bc4f1dad93ab5645bc6096ef13b
|
||||
DOWNLOAD_EXTRACT_TIMESTAMP TRUE
|
||||
)
|
||||
FetchContent_MakeAvailable(Sparkle)
|
||||
|
@ -963,23 +963,25 @@ if(NOT TRANSLATIONS_ONLY)
|
|||
)
|
||||
|
||||
set(APPCAST_URL "https://data.vba-m.com/appcast.xml")
|
||||
set(CCS1 mkdir -p ${CMAKE_BINARY_DIR}/visualboyadvance-m.app/Contents/Frameworks)
|
||||
set(CCS1 rm -rf ${CMAKE_BINARY_DIR}/visualboyadvance-m.app/Contents/Frameworks/Sparkle.framework)
|
||||
set(CCS2 mkdir -p ${CMAKE_BINARY_DIR}/visualboyadvance-m.app/Contents/Frameworks)
|
||||
# The following commands *should* be run to make sure Sparkle is not going
|
||||
# to bug randomly (version=1.23)
|
||||
set(CCS2 cp -a ${SPARKLE_FRAMEWORK} ${CMAKE_BINARY_DIR}/visualboyadvance-m.app/Contents/Frameworks/Sparkle.framework)
|
||||
set(CCS3 defaults write ${CMAKE_BINARY_DIR}/visualboyadvance-m.app/Contents/Info.plist CFBundleVersion -string "${VERSION}")
|
||||
set(CCS4 defaults write ${CMAKE_BINARY_DIR}/visualboyadvance-m.app/Contents/Info.plist CFBundleShortVersionString -string "${VERSION}")
|
||||
set(CCS5 defaults write ${CMAKE_BINARY_DIR}/visualboyadvance-m.app/Contents/Info.plist SUEnableAutomaticChecks -bool YES)
|
||||
#set(CCS6 defaults write ${CMAKE_BINARY_DIR}/visualboyadvance-m.app/Contents/Info.plist SUPublicEDKey -string "${PUBLIC_KEY}")
|
||||
set(CCS7 defaults write ${CMAKE_BINARY_DIR}/visualboyadvance-m.app/Contents/Info.plist SUFeedURL -string "${APPCAST_URL}")
|
||||
# to bug randomly.
|
||||
set(CCS3 cp -a ${SPARKLE_FRAMEWORK} ${CMAKE_BINARY_DIR}/visualboyadvance-m.app/Contents/Frameworks/Sparkle.framework)
|
||||
set(CCS4 defaults write ${CMAKE_BINARY_DIR}/visualboyadvance-m.app/Contents/Info.plist CFBundleVersion -string "${VERSION}")
|
||||
set(CCS5 defaults write ${CMAKE_BINARY_DIR}/visualboyadvance-m.app/Contents/Info.plist CFBundleShortVersionString -string "${VERSION}")
|
||||
set(CCS6 defaults write ${CMAKE_BINARY_DIR}/visualboyadvance-m.app/Contents/Info.plist SUEnableAutomaticChecks -bool YES)
|
||||
#set(CCS7 defaults write ${CMAKE_BINARY_DIR}/visualboyadvance-m.app/Contents/Info.plist SUPublicEDKey -string "${PUBLIC_KEY}")
|
||||
set(CCS8 defaults write ${CMAKE_BINARY_DIR}/visualboyadvance-m.app/Contents/Info.plist SUFeedURL -string "${APPCAST_URL}")
|
||||
add_custom_command(TARGET visualboyadvance-m POST_BUILD
|
||||
COMMAND ${CCS1}
|
||||
COMMAND ${CCS2}
|
||||
COMMAND ${CCS3}
|
||||
COMMAND ${CCS4}
|
||||
COMMAND ${CCS5}
|
||||
#COMMAND ${CCS6}
|
||||
COMMAND ${CCS7}
|
||||
COMMAND ${CCS6}
|
||||
#COMMAND ${CCS7}
|
||||
COMMAND ${CCS8}
|
||||
)
|
||||
|
||||
TARGET_LINK_LIBRARIES(visualboyadvance-m ${SPARKLE_FRAMEWORK})
|
||||
|
@ -1218,7 +1220,7 @@ if(NOT TRANSLATIONS_ONLY)
|
|||
if(CMAKE_BUILD_TYPE MATCHES "^(Release|MinSizeRel)$")
|
||||
add_custom_command(
|
||||
TARGET visualboyadvance-m POST_BUILD
|
||||
COMMAND ${CMAKE_SOURCE_DIR}/tools/osx/third_party_libs_tool ./visualboyadvance-m.app
|
||||
COMMAND ${CMAKE_SOURCE_DIR}/tools/macOS/third_party_libs_tool ./visualboyadvance-m.app
|
||||
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
|
||||
)
|
||||
|
||||
|
|
|
@ -40,11 +40,11 @@ case "\$CC" in
|
|||
;;
|
||||
esac
|
||||
|
||||
export CPPFLAGS="$CPPFLAGS${CPPFLAGS:+ }-I\$BUILD_ROOT/root/include -DCURL_STATICLIB -DGRAPHITE2_STATIC"
|
||||
export CFLAGS="$CFLAGS${CFLAGS:+ }-fPIC -I\$BUILD_ROOT/root/include -L\$BUILD_ROOT/root/lib -pthread -lm -DCURL_STATICLIB -DGRAPHITE2_STATIC"
|
||||
export CXXFLAGS="$CXXFLAGS${CXXFLAGS:+ }-fPIC -I\$BUILD_ROOT/root/include -L\$BUILD_ROOT/root/lib -std=gnu++17 -fpermissive -pthread -lm -DCURL_STATICLIB -DGRAPHITE2_STATIC"
|
||||
export OBJCXXFLAGS="$OBJCXXFLAGS${OBJCXXFLAGS:+ }-fPIC -I\$BUILD_ROOT/root/include -L\$BUILD_ROOT/root/lib -std=gnu++17 -fpermissive -pthread -lm -DCURL_STATICLIB -DGRAPHITE2_STATIC"
|
||||
export LDFLAGS="$LDFLAGS${LDFLAGS:+ }-fPIC -L\$BUILD_ROOT/root/lib -pthread -lm"
|
||||
export CPPFLAGS="$CPPFLAGS${CPPFLAGS:+ }-I\$BUILD_ROOT/root/include -DCURL_STATICLIB -DGRAPHITE2_STATIC -DFLOAT_APPROX"
|
||||
export CFLAGS="$CFLAGS${CFLAGS:+ }-fPIC -I\$BUILD_ROOT/root/include -L\$BUILD_ROOT/root/lib -pthread -lm -DCURL_STATICLIB -DGRAPHITE2_STATIC -DFLOAT_APPROX -Ofast -march=core2 -mtune=generic -pipe"
|
||||
export CXXFLAGS="$CXXFLAGS${CXXFLAGS:+ }-fPIC -I\$BUILD_ROOT/root/include -L\$BUILD_ROOT/root/lib -std=gnu++17 -fpermissive -pthread -lm -DCURL_STATICLIB -DGRAPHITE2_STATIC -DFLOAT_APPROX -Ofast -march=core2 -mtune=generic -pipe"
|
||||
export OBJCXXFLAGS="$OBJCXXFLAGS${OBJCXXFLAGS:+ }-fPIC -I\$BUILD_ROOT/root/include -L\$BUILD_ROOT/root/lib -std=gnu++17 -fpermissive -pthread -lm -DCURL_STATICLIB -DGRAPHITE2_STATIC -DFLOAT_APPROX -Ofast -march=core2 -mtune=generic -pipe"
|
||||
export LDFLAGS="$LDFLAGS${LDFLAGS:+ }-fPIC -L\$BUILD_ROOT/root/lib -pthread -lm -Ofast -march=core2 -mtune=generic -pipe"
|
||||
export STRIP="\${STRIP:-strip}"
|
||||
|
||||
if [ -z "\$OPENMP" ] && echo "\$CC" | grep -Eq gcc; then
|
||||
|
@ -58,6 +58,7 @@ fi
|
|||
export CMAKE_PREFIX_PATH="\${CMAKE_PREFIX_PATH:-\$BUILD_ROOT/root}"
|
||||
export PKG_CONFIG_PATH="\$BUILD_ROOT/root/lib/pkgconfig:\$BUILD_ROOT/root/share/pkgconfig"
|
||||
|
||||
export LIBRARY_PATH="\$BUILD_ROOT/root/lib"
|
||||
export LD_LIBRARY_PATH="\$BUILD_ROOT/root/lib"
|
||||
|
||||
export PERL_MM_USE_DEFAULT=1
|
||||
|
@ -103,111 +104,115 @@ PRE_BUILD_DISTS="$PRE_BUILD_DISTS bzip2 xz unzip"
|
|||
|
||||
DISTS=$DISTS'
|
||||
bzip2 ftp://sourceware.org/pub/bzip2/bzip2-1.0.8.tar.gz lib/libbz2.a
|
||||
xz https://tukaani.org/xz/xz-5.2.4.tar.gz lib/liblzma.a
|
||||
xz https://tukaani.org/xz/xz-5.2.6.tar.gz lib/liblzma.a
|
||||
unzip https://downloads.sourceforge.net/project/infozip/UnZip%206.x%20%28latest%29/UnZip%206.0/unzip60.tar.gz bin/unzip
|
||||
zlib https://www.zlib.net/zlib-1.2.11.tar.gz lib/libz.a
|
||||
ccache https://www.samba.org/ftp/ccache/ccache-3.4.3.tar.xz bin/ccache
|
||||
zlib-ng https://github.com/zlib-ng/zlib-ng/archive/ce01b1e41da298334f8214389cc9369540a7560f.tar.gz lib/libz.a
|
||||
zip https://downloads.sourceforge.net/project/infozip/Zip%203.x%20%28latest%29/3.0/zip30.tar.gz bin/zip
|
||||
openssl https://www.openssl.org/source/openssl-1.1.1f.tar.gz lib/libssl.a
|
||||
curl https://curl.haxx.se/download/curl-7.65.3.tar.xz lib/libcurl.a
|
||||
cmake https://github.com/Kitware/CMake/releases/download/v3.19.4/cmake-3.19.4.tar.gz bin/cmake
|
||||
openssl https://www.openssl.org/source/openssl-1.1.1g.tar.gz lib/libssl.a
|
||||
curl https://curl.haxx.se/download/curl-7.85.0.tar.xz lib/libcurl.a
|
||||
cmake https://github.com/Kitware/CMake/releases/download/v3.24.1/cmake-3.24.1.tar.gz bin/cmake
|
||||
zstd https://github.com/facebook/zstd/releases/download/v1.5.2/zstd-1.5.2.tar.gz lib/libzstd.a
|
||||
hiredis https://github.com/redis/hiredis/archive/refs/tags/v1.0.2.tar.gz lib/libhiredis.a
|
||||
ccache https://github.com/ccache/ccache/releases/download/v4.6.3/ccache-4.6.3.tar.xz bin/ccache
|
||||
m4 http://ftp.gnu.org/gnu/m4/m4-1.4.19.tar.xz bin/m4
|
||||
autoconf https://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.xz bin/autoconf
|
||||
autoconf-archive http://mirror.team-cymru.org/gnu/autoconf-archive/autoconf-archive-2017.09.28.tar.xz share/aclocal/ax_check_gl.m4
|
||||
autoconf https://ftp.gnu.org/gnu/autoconf/autoconf-2.71.tar.xz bin/autoconf
|
||||
autoconf-archive http://gnu.askapache.com/autoconf-archive/autoconf-archive-2022.09.03.tar.xz share/aclocal/ax_check_gl.m4
|
||||
automake https://ftp.gnu.org/gnu/automake/automake-1.16.5.tar.xz bin/automake
|
||||
libtool https://ftp.gnu.org/gnu/libtool/libtool-2.4.6.tar.xz bin/libtool
|
||||
libtool https://ftp.gnu.org/gnu/libtool/libtool-2.4.7.tar.xz bin/libtool
|
||||
xorg-macros https://www.x.org/archive//individual/util/util-macros-1.19.1.tar.bz2 share/pkgconfig/xorg-macros.pc
|
||||
help2man https://ftp.gnu.org/gnu/help2man/help2man-1.47.5.tar.xz bin/help2man
|
||||
libiconv https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.16.tar.gz lib/libiconv.a
|
||||
help2man https://ftp.gnu.org/gnu/help2man/help2man-1.49.2.tar.xz bin/help2man
|
||||
libiconv https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.17.tar.gz lib/libiconv.a
|
||||
gettext http://ftp.gnu.org/pub/gnu/gettext/gettext-0.21.tar.xz lib/libintl.a
|
||||
getopt https://fossies.org/linux/misc/getopt-1.1.6.tar.gz bin/getopt
|
||||
gsed http://ftp.gnu.org/gnu/sed/sed-4.4.tar.xz bin/sed
|
||||
bison https://ftp.gnu.org/gnu/bison/bison-3.0.5.tar.xz bin/bison
|
||||
texinfo http://ftp.gnu.org/gnu/texinfo/texinfo-6.5.tar.xz bin/makeinfo
|
||||
gsed http://ftp.gnu.org/gnu/sed/sed-4.8.tar.xz bin/sed
|
||||
bison https://ftp.gnu.org/gnu/bison/bison-3.8.2.tar.xz bin/bison
|
||||
texinfo http://ftp.gnu.org/gnu/texinfo/texinfo-6.8.tar.xz bin/makeinfo
|
||||
flex-2.6.3 https://github.com/westes/flex/releases/download/v2.6.3/flex-2.6.3.tar.gz bin/flex
|
||||
flex https://github.com/westes/flex/archive/e7d45afc6aeb49745f17d21ddba4848e0c0118fc.tar.gz bin/flex
|
||||
flex https://github.com/westes/flex/archive/ea6493d9b6f1915ba096160df666637a6e1b3f20.tar.gz bin/flex
|
||||
xmlto https://releases.pagure.org/xmlto/xmlto-0.0.28.tar.bz2 bin/xmlto
|
||||
gperf http://ftp.gnu.org/pub/gnu/gperf/gperf-3.1.tar.gz bin/gperf
|
||||
libicu https://github.com/unicode-org/icu/releases/download/release-65-1/icu4c-65_1-src.tgz lib/libicud*t*.a
|
||||
pkgconfig https://pkgconfig.freedesktop.org/releases/pkg-config-0.29.2.tar.gz bin/pkg-config
|
||||
nasm https://www.nasm.us/pub/nasm/releasebuilds/2.14.02/nasm-2.14.02.tar.xz bin/nasm
|
||||
libicu https://github.com/unicode-org/icu/releases/download/release-71-1/icu4c-71_1-src.tgz lib/libicud*t*.a
|
||||
pkgconf https://github.com/pkgconf/pkgconf/archive/refs/tags/pkgconf-1.9.3.tar.gz bin/pkgconf
|
||||
nasm https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/nasm-2.15.05.tar.xz bin/nasm
|
||||
yasm http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz bin/yasm
|
||||
pcre https://ftp.pcre.org/pub/pcre/pcre-8.41.tar.bz2 lib/libpcre.a
|
||||
libffi ftp://sourceware.org/pub/libffi/libffi-3.2.1.tar.gz lib/libffi.a
|
||||
pcre https://downloads.sourceforge.net/project/pcre/pcre/8.45/pcre-8.45.tar.bz2 lib/libpcre.a
|
||||
pcre2 https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.40/pcre2-10.40.tar.bz2 lib/libpcre2-posix.a
|
||||
libffi https://github.com/libffi/libffi/releases/download/v3.4.2/libffi-3.4.2.tar.gz lib/libffi.a
|
||||
c2man https://github.com/fribidi/c2man/archive/577ed4095383ef5284225d45709e6b5f0598a064.tar.gz bin/c2man
|
||||
libxml2 ftp://xmlsoft.org/libxml2/libxml2-2.9.12.tar.gz lib/libxml2.a
|
||||
libxslt https://github.com/GNOME/libxslt/archive/v1.1.33-rc2.tar.gz lib/libxslt.a
|
||||
libxml2 https://gitlab.gnome.org/GNOME/libxml2/-/archive/v2.10.2/libxml2-v2.10.2.tar.bz2 lib/libxml2.a
|
||||
libxslt https://gitlab.gnome.org/GNOME/libxslt/-/archive/v1.1.37/libxslt-v1.1.37.tar.bz2 lib/libxslt.a
|
||||
XML-NamespaceSupport https://cpan.metacpan.org/authors/id/P/PE/PERIGRIN/XML-NamespaceSupport-1.12.tar.gz perl5/lib/perl5/XML/NamespaceSupport.pm
|
||||
XML-SAX-Base https://cpan.metacpan.org/authors/id/G/GR/GRANTM/XML-SAX-Base-1.09.tar.gz perl5/lib/perl5/XML/SAX/Base.pm
|
||||
XML-SAX https://cpan.metacpan.org/authors/id/G/GR/GRANTM/XML-SAX-0.99.tar.gz perl5/lib/perl5/XML/SAX.pm
|
||||
XML-SAX https://cpan.metacpan.org/authors/id/G/GR/GRANTM/XML-SAX-1.02.tar.gz perl5/lib/perl5/XML/SAX.pm
|
||||
docbook2x https://downloads.sourceforge.net/project/docbook2x/docbook2x/0.8.8/docbook2X-0.8.8.tar.gz bin/docbook2man
|
||||
expat https://github.com/libexpat/libexpat/archive/R_2_2_4.tar.gz lib/libexpat.a
|
||||
expat https://github.com/libexpat/libexpat/releases/download/R_2_4_8/expat-2.4.8.tar.xz lib/libexpat.a
|
||||
libpng https://download.sourceforge.net/libpng/libpng-1.6.37.tar.xz lib/libpng.a
|
||||
libjpeg-turbo https://github.com/libjpeg-turbo/libjpeg-turbo/archive/2.0.4.tar.gz lib/libjpeg.a
|
||||
libtiff http://download.osgeo.org/libtiff/tiff-4.1.0.tar.gz lib/libtiff.a
|
||||
# libcroco http://ftp.gnome.org/pub/gnome/sources/libcroco/0.6/libcroco-0.6.12.tar.xz lib/libcroco-0.6.a
|
||||
libjpeg-turbo https://github.com/libjpeg-turbo/libjpeg-turbo/archive/2.1.4.tar.gz lib/libjpeg.a
|
||||
libtiff https://download.osgeo.org/libtiff/tiff-4.4.0.tar.xz lib/libtiff.a
|
||||
# libcroco http://ftp.gnome.org/pub/gnome/sources/libcroco/0.6/libcroco-0.6.13.tar.xz lib/libcroco-0.6.a
|
||||
libuuid https://downloads.sourceforge.net/project/libuuid/libuuid-1.0.3.tar.gz lib/libuuid.a
|
||||
freetype http://download.savannah.gnu.org/releases/freetype/freetype-2.10.0.tar.bz2 lib/libfreetype.a
|
||||
freetype http://download.savannah.gnu.org/releases/freetype/freetype-2.12.1.tar.xz lib/libfreetype.a
|
||||
fontconfig https://freedesktop.org/software/fontconfig/release/fontconfig-2.13.1.tar.bz2 lib/libfontconfig.a
|
||||
libgd https://github.com/libgd/libgd/releases/download/gd-2.2.5/libgd-2.2.5.tar.xz lib/libgd.a
|
||||
dejavu https://downloads.sourceforge.net/project/dejavu/dejavu/2.37/dejavu-fonts-ttf-2.37.tar.bz2 share/fonts/dejavu/DejaVuSansMono.ttf
|
||||
liberation https://releases.pagure.org/liberation-fonts/liberation-fonts-ttf-2.00.1.tar.gz share/fonts/liberation/LiberationMono-Regular.ttf
|
||||
urw http://git.ghostscript.com/?p=urw-core35-fonts.git;a=snapshot;h=91edd6ece36e84a1c6d63a1cf63a1a6d84bd443a;sf=tgz share/fonts/urw/URWBookman-Light.ttf
|
||||
graphviz https://gitlab.com/graphviz/graphviz/repository/archive.tar.bz2?ref=4bf0ec9b0f8320fd7ba63617e9207c1e72f816b7 bin/dot_static
|
||||
libgd https://github.com/libgd/libgd/releases/download/gd-2.3.3/libgd-2.3.3.tar.xz lib/libgd.a
|
||||
dejavu http://sourceforge.net/projects/dejavu/files/dejavu/2.37/dejavu-fonts-ttf-2.37.tar.bz2 share/fonts/dejavu/DejaVuSansMono.ttf
|
||||
liberation https://github.com/liberationfonts/liberation-fonts/files/7261482/liberation-fonts-ttf-2.1.5.tar.gz share/fonts/liberation/LiberationMono-Regular.ttf
|
||||
urw https://github.com/ArtifexSoftware/urw-base35-fonts/archive/refs/tags/20200910.tar.gz share/fonts/urw/URWBookman-Light.ttf
|
||||
graphviz https://gitlab.com/api/v4/projects/4207231/packages/generic/graphviz-releases/5.0.1/graphviz-5.0.1.tar.xz bin/dot_static
|
||||
docbook4.2 http://www.docbook.org/xml/4.2/docbook-xml-4.2.zip share/xml/docbook/schema/dtd/4.2/catalog.xml
|
||||
docbook4.1.2 http://www.docbook.org/xml/4.1.2/docbkx412.zip share/xml/docbook/schema/dtd/4.1.2/catalog.xml
|
||||
docbook4.3 http://www.docbook.org/xml/4.3/docbook-xml-4.3.zip share/xml/docbook/schema/dtd/4.3/catalog.xml
|
||||
docbook4.4 http://www.docbook.org/xml/4.4/docbook-xml-4.4.zip share/xml/docbook/schema/dtd/4.4/catalog.xml
|
||||
docbook4.5 http://www.docbook.org/xml/4.5/docbook-xml-4.5.zip share/xml/docbook/schema/dtd/4.5/catalog.xml
|
||||
docbook5.0 http://www.docbook.org/xml/5.0/docbook-5.0.zip share/xml/docbook/schema/dtd/5.0/catalog.xml
|
||||
docbook5.0.1 http://www.docbook.org/xml/5.0.1/docbook-5.0.1.zip share/xml/docbook/schema/dtd/5.0.1/catalog.xml
|
||||
docbook5.1 https://docbook.org/xml/5.1/docbook-v5.1-os.zip share/xml/docbook/schema/dtd/5.0.1/catalog.xml
|
||||
docbook-xsl https://downloads.sourceforge.net/project/docbook/docbook-xsl/1.79.1/docbook-xsl-1.79.1.tar.bz2 share/xml/docbook/stylesheet/docbook-xsl/catalog.xml
|
||||
docbook-xsl-ns https://downloads.sourceforge.net/project/docbook/docbook-xsl-ns/1.79.1/docbook-xsl-ns-1.79.1.tar.bz2 share/xml/docbook/stylesheet/docbook-xsl-ns/catalog.xml
|
||||
python2 https://www.python.org/ftp/python/2.7.15/Python-2.7.15.tar.xz bin/python
|
||||
python3 https://www.python.org/ftp/python/3.9.1/Python-3.9.1.tar.xz bin/python3
|
||||
swig https://downloads.sourceforge.net/project/swig/swig/swig-3.0.12/swig-3.0.12.tar.gz bin/swig
|
||||
libxml2-python ftp://xmlsoft.org/libxml2/libxml2-2.9.12.tar.gz lib/python2.7/site-packages/libxml2.py
|
||||
doxygen https://downloads.sourceforge.net/project/doxygen/rel-1.8.14/doxygen-1.8.14.src.tar.gz bin/doxygen
|
||||
bakefile https://github.com/vslavik/bakefile/archive/33c270a565ba0954cca9611b2443593b2e9e698a.tar.gz bin/bakefile_gen
|
||||
XML-Parser https://cpan.metacpan.org/authors/id/T/TO/TODDR/XML-Parser-2.44.tar.gz perl5/man/man3/XML*Parser.3*
|
||||
python2 https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tar.xz bin/python
|
||||
python3 https://www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz bin/python3
|
||||
swig https://sourceforge.net/projects/swig/files/swig/swig-4.0.2/swig-4.0.2.tar.gz/download bin/swig
|
||||
doxygen https://www.doxygen.nl/files/doxygen-1.9.5.src.tar.gz bin/doxygen
|
||||
bakefile https://github.com/vslavik/bakefile/archive/7a218d89d860f01d64b558b7e198bb0cbc538511.tar.gz bin/bakefile_gen
|
||||
XML-Parser https://cpan.metacpan.org/authors/id/T/TO/TODDR/XML-Parser-2.46.tar.gz perl5/man/man3/XML*Parser.3*
|
||||
intltool https://launchpad.net/intltool/trunk/0.51.0/+download/intltool-0.51.0.tar.gz bin/intltoolize
|
||||
ninja https://github.com/ninja-build/ninja/archive/v1.9.0.tar.gz bin/ninja
|
||||
meson https://github.com/mesonbuild/meson/releases/download/0.51.2/meson-0.51.2.tar.gz bin/meson
|
||||
glib https://github.com/GNOME/glib/archive/2.62.2.tar.gz lib/libglib-2.0.a
|
||||
libgpg-error https://www.gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.41.tar.bz2 lib/libgpg-error.a
|
||||
libgcrypt https://www.gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.8.5.tar.bz2 lib/libgcrypt.a
|
||||
libsecret http://ftp.gnome.org/pub/gnome/sources/libsecret/0.19/libsecret-0.19.1.tar.xz lib/libsecret-1.a
|
||||
sdl2 https://www.libsdl.org/release/SDL2-2.0.10.tar.gz lib/libSDL2.a
|
||||
flac https://ftp.osuosl.org/pub/xiph/releases/flac/flac-1.3.3.tar.xz lib/libFLAC.a
|
||||
libogg http://downloads.xiph.org/releases/ogg/libogg-1.3.4.tar.xz lib/libogg.a
|
||||
libvorbis https://github.com/xiph/vorbis/archive/v1.3.6.tar.gz lib/libvorbis.a
|
||||
harfbuzz https://www.freedesktop.org/software/harfbuzz/release/harfbuzz-1.7.5.tar.bz2 lib/libharfbuzz.a
|
||||
sfml https://github.com/SFML/SFML/archive/0337568846584fffcee38036880f9f48888c8b7c.tar.gz lib/libsfml-system-s.a
|
||||
shared-mime-info http://freedesktop.org/~hadess/shared-mime-info-1.9.tar.xz bin/update-mime-database
|
||||
wxwidgets https://github.com/wxWidgets/wxWidgets/archive/9cc0c9a082e0c3b2a4c14e3c6811de0e3a1a3799.tar.gz lib/libwx_baseu-3.1*.a
|
||||
graphite2 https://github.com/silnrsi/graphite/archive/ce0e793f22127d7ba6422d440bd83b58f864ef7e.tar.gz lib/libgraphite2.a
|
||||
xvidcore http://downloads.xvid.org/downloads/xvidcore-1.3.5.tar.bz2 lib/libxvidcore.a
|
||||
fribidi https://github.com/fribidi/fribidi/releases/download/v1.0.1/fribidi-1.0.1.tar.bz2 lib/libfribidi.a
|
||||
libgsm http://www.quut.com/gsm/gsm-1.0.18.tar.gz lib/libgsm.a
|
||||
libmodplug https://github.com/Konstanty/libmodplug/archive/5a39f5913d07ba3e61d8d5afdba00b70165da81d.tar.gz lib/libmodplug.a
|
||||
libopencore-amrnb https://downloads.sourceforge.net/project/opencore-amr/opencore-amr/opencore-amr-0.1.5.tar.gz lib/libopencore-amrnb.a
|
||||
ninja https://github.com/ninja-build/ninja/archive/v1.11.1.tar.gz bin/ninja
|
||||
meson https://github.com/mesonbuild/meson/releases/download/0.63.2/meson-0.63.2.tar.gz bin/meson
|
||||
|
||||
glib https://gitlab.gnome.org/GNOME/glib/-/archive/51251940640b217ed2f1bf83ce7560cecef66bb7/glib-51251940640b217ed2f1bf83ce7560cecef66bb7.tar.bz2 lib/libglib-2.0.a
|
||||
|
||||
libgpg-error https://gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.45.tar.bz2 lib/libgpg-error.a
|
||||
libgcrypt https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.10.1.tar.bz2 lib/libgcrypt.a
|
||||
libsecret https://gitlab.gnome.org/GNOME/libsecret/-/archive/0.20.5/libsecret-0.20.5.tar.bz2 lib/libsecret-1.a
|
||||
sdl2 https://github.com/libsdl-org/SDL/releases/download/release-2.24.0/SDL2-2.24.0.tar.gz lib/libSDL2.a
|
||||
flac https://ftp.osuosl.org/pub/xiph/releases/flac/flac-1.3.4.tar.xz lib/libFLAC.a
|
||||
libogg http://downloads.xiph.org/releases/ogg/libogg-1.3.5.tar.xz lib/libogg.a
|
||||
libvorbis http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.7.tar.xz lib/libvorbis.a
|
||||
harfbuzz https://github.com/harfbuzz/harfbuzz/releases/download/5.1.0/harfbuzz-5.1.0.tar.xz lib/libharfbuzz.a
|
||||
sfml https://github.com/SFML/SFML/releases/download/2.5.1/SFML-2.5.1-sources.zip lib/libsfml-system-s.a
|
||||
shared-mime-info https://gitlab.freedesktop.org/xdg/shared-mime-info/-/archive/2.2/shared-mime-info-2.2.tar.bz2 bin/update-mime-database
|
||||
wxwidgets https://github.com/wxWidgets/wxWidgets/archive/31720e1ee102b195265203f9e9886929bff0528d.tar.gz lib/libwx_baseu-3.*.a
|
||||
graphite2 https://github.com/silnrsi/graphite/archive/425da3d08926b9cf321fc0014dfa979c24d2cf64.tar.gz lib/libgraphite2.a
|
||||
xvidcore https://downloads.xvid.com/downloads/xvidcore-1.3.7.tar.bz2 lib/libxvidcore.a
|
||||
fribidi https://github.com/fribidi/fribidi/releases/download/v1.0.12/fribidi-1.0.12.tar.xz lib/libfribidi.a
|
||||
libgsm https://www.quut.com/gsm/gsm-1.0.22.tar.gz lib/libgsm.a
|
||||
libmodplug https://github.com/Konstanty/libmodplug/archive/d1b97ed0020bc620a059d3675d1854b40bd2608d.tar.gz lib/libmodplug.a
|
||||
libopencore-amrnb https://sourceforge.net/projects/opencore-amr/files/opencore-amr/opencore-amr-0.1.6.tar.gz/download lib/libopencore-amrnb.a
|
||||
opus https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz lib/libopus.a
|
||||
snappy https://github.com/google/snappy/archive/1.1.7.tar.gz lib/libsnappy.a
|
||||
snappy https://github.com/google/snappy/archive/af720f9a3b2c831f173b6074961737516f2d3a46.tar.gz lib/libsnappy.a
|
||||
libsoxr https://downloads.sourceforge.net/project/soxr/soxr-0.1.3-Source.tar.xz lib/libsoxr.a
|
||||
speex http://downloads.us.xiph.org/releases/speex/speex-1.2.0.tar.gz lib/libspeex.a
|
||||
speex http://downloads.xiph.org/releases/speex/speex-1.2.1.tar.gz lib/libspeex.a
|
||||
libtheora https://github.com/Distrotech/libtheora/archive/17b02c8c564475bb812e540b551219fc42b1f75f.tar.gz lib/libtheora.a
|
||||
vidstab https://github.com/georgmartius/vid.stab/archive/v1.1.0.tar.gz lib/libvidstab.a
|
||||
libvo-amrwbenc https://github.com/mstorsjo/vo-amrwbenc/archive/v0.1.3.tar.gz lib/libvo-amrwbenc.a
|
||||
vidstab https://github.com/georgmartius/vid.stab/archive/90c76aca2cb06c3ff6f7476a7cd6851b39436656.tar.gz lib/libvidstab.a
|
||||
libvo-amrwbenc https://github.com/mstorsjo/vo-amrwbenc/archive/3b3fcd0d250948e74cd67e7ea81af431ab3928f9.tar.gz lib/libvo-amrwbenc.a
|
||||
mp3lame https://downloads.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz lib/libmp3lame.a
|
||||
libass https://github.com/libass/libass/releases/download/0.14.0/libass-0.14.0.tar.xz lib/libass.a
|
||||
libbluray https://download.videolan.org/pub/videolan/libbluray/1.1.2/libbluray-1.1.2.tar.bz2 lib/libbluray.a
|
||||
libvpx https://github.com/webmproject/libvpx/archive/v1.8.1.tar.gz lib/libvpx.a
|
||||
libwavpack http://www.wavpack.com/wavpack-5.1.0.tar.bz2 lib/libwavpack.a
|
||||
libx264 https://download.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-20190913-2245-stable.tar.bz2 lib/libx264.a
|
||||
libass https://github.com/libass/libass/releases/download/0.16.0/libass-0.16.0.tar.xz lib/libass.a
|
||||
libbluray https://download.videolan.org/pub/videolan/libbluray/1.3.2/libbluray-1.3.2.tar.bz2 lib/libbluray.a
|
||||
libvpx https://github.com/webmproject/libvpx/archive/refs/tags/v1.12.0.tar.gz lib/libvpx.a
|
||||
libx264 https://code.videolan.org/videolan/x264/-/archive/f7074e12d90de71f22aebd5040b8c6d31ca8f926/x264-f7074e12d90de71f22aebd5040b8c6d31ca8f926.tar.bz2 lib/libx264.a
|
||||
libx265 https://github.com/videolan/x265/archive/3.4.tar.gz lib/libx265.a
|
||||
libxavs https://github.com/Distrotech/xavs/archive/distrotech-xavs-git.tar.gz lib/libxavs.a
|
||||
libzmq https://github.com/zeromq/libzmq/releases/download/v4.2.2/zeromq-4.2.2.tar.gz lib/libzmq.a
|
||||
libxavs https://github.com/Distrotech/xavs/archive/8300fbf4918bca2af1af2aee6a337815e90b51e1.tar.gz lib/libxavs.a
|
||||
libzmq https://github.com/zeromq/libzmq/releases/download/v4.3.4/zeromq-4.3.4.tar.gz lib/libzmq.a
|
||||
# libzvbi https://downloads.sourceforge.net/project/zapping/zvbi/0.2.35/zvbi-0.2.35.tar.bz2 lib/libzvbi.a
|
||||
ffmpeg https://ffmpeg.org/releases/ffmpeg-4.3.1.tar.bz2 lib/libavformat.a
|
||||
ffmpeg http://ffmpeg.org/releases/ffmpeg-5.1.1.tar.xz lib/libavformat.a
|
||||
'
|
||||
|
||||
BUILD_FFMPEG=1
|
||||
|
@ -215,10 +220,10 @@ BUILD_FFMPEG=1
|
|||
FFMPEG_DISTS='
|
||||
graphite2 xvidcore fribidi libgsm libmodplug libopencore-amrnb opus snappy
|
||||
libsoxr speex libtheora vidstab libvo-amrwbenc mp3lame libass libbluray
|
||||
libvpx libwavpack libx264 libx265 libxavs libzmq libzvbi ffmpeg
|
||||
libvpx libx264 libx265 libxavs libzmq libzvbi ffmpeg
|
||||
'
|
||||
|
||||
PROJECT_ARGS="-DwxWidgets_CONFIG_OPTIONS='--prefix=$BUILD_ROOT/root' -DBUILD_TESTING=NO"
|
||||
PROJECT_ARGS="-DDISABLE_MACOS_PACKAGE_MANAGERS=TRUE -DwxWidgets_CONFIG_EXECUTABLE='$BUILD_ROOT/root/bin/wx-config' -DwxWidgets_CONFIG_OPTIONS='--prefix=$BUILD_ROOT/root' -DBUILD_TESTING=NO"
|
||||
|
||||
: ${PATH_SEP:=':'}
|
||||
|
||||
|
@ -238,11 +243,10 @@ fi
|
|||
|
||||
export CONFIGURE_ARGS="$CONFIGURE_ARGS --disable-shared --enable-static $CONFIGURE_INSTALL_ARGS"
|
||||
export CMAKE_ARGS="$CMAKE_BASE_ARGS $CMAKE_ARGS $CMAKE_INSTALL_ARGS"
|
||||
export MESON_ARGS="$MESON_BASE_ARGS --buildtype release --default-library static -Dintrospection=false $MESON_INSTALL_ARGS"
|
||||
export MESON_ARGS="$MESON_BASE_ARGS --buildtype release --default-library static $MESON_INSTALL_ARGS"
|
||||
|
||||
DIST_PATCHES=$DIST_PATCHES'
|
||||
docbook2x https://gist.githubusercontent.com/rkitover/0b5dcc95a0703a9b0e0e7eb6d325a98e/raw/e256d2fad8d19633ac8abe02a0d1e119063d1fd9/docbook2x.patch
|
||||
ccache https://gist.githubusercontent.com/rkitover/4dd30c2841a2131be8715038f538d622/raw/40a8f0f50aa6ca5f9658a0c37aa17393cc80c109/ccache-3.4.2-msys.patch
|
||||
graphite2 https://gist.githubusercontent.com/rkitover/e753f41a7f6461ad412c2d076ec24e0f/raw/d0c2b8cccd556e407e15da8a2e739a902bd1a3b5/graphite2-static-cmake-opts.patch
|
||||
python2 https://gist.githubusercontent.com/rkitover/2d9e5baff1f1cc4f2618dee53083bd35/raw/7f33fcf5470a9f1013ac6ae7bb168368a98fe5a0/python-2.7.14-custom-static-openssl.patch https://gist.githubusercontent.com/rkitover/afab7ed3ac7ce1860c43a258571c8ae1/raw/6f5fc90a7acf5f5c3ffda2edf402b28f469a4b3b/python-2.7.14-static-libintl.patch
|
||||
intltool https://gist.githubusercontent.com/rkitover/d638882f52e5d5f8e392cbf6842cd6d0/raw/dcfbe358bbb8b89f88b40a9c3402494552fd33f8/intltool-0.51.0.patch
|
||||
|
@ -254,12 +258,12 @@ DIST_TAR_ARGS="$DIST_TAR_ARGS
|
|||
DIST_CONFIGURE_TYPES="$DIST_CONFIGURE_TYPES
|
||||
unzip make
|
||||
zip make
|
||||
pkgconf autoreconf_noargs
|
||||
fontconfig autoreconf
|
||||
libgd autoreconf
|
||||
harfbuzz autoconf
|
||||
python2 autoreconf
|
||||
python3 autoreconf
|
||||
libxml2-python python
|
||||
graphviz autoreconf
|
||||
docbook2x autoreconf
|
||||
libvorbis autoreconf
|
||||
|
@ -279,16 +283,17 @@ DIST_PRE_BUILD="$DIST_PRE_BUILD
|
|||
flex mkdir -p build-aux; touch build-aux/config.rpath; mkdir -p po; touch po/Makefile.in.in; sed -i.bak '/po \\\\$/d' Makefile.am;
|
||||
fontconfig sed -i.bak 'd;q' test/Makefile.am;
|
||||
python3 sed -i.bak '/-Wl,-stack_size,/d' configure.ac;
|
||||
libxml2-python sh autogen.sh \"--with-python=\$BUILD_ROOT/root/bin/python3\"; cd python; \
|
||||
sed -i.bak \"s,^ROOT = .*,ROOT = os.getenv('BUILD_ROOT') + '/root',; s|^\\( *platformLibs = \\[ *[^]].*\\)\\] *\$|\\1, 'lzma', 'iconv', 'intl']|\" setup.py;
|
||||
bakefile sed -i.bak '/SUBDIRS = doc/d' Makefile.am;
|
||||
unzip rm -f unix/Contents; ln -sf \$(find unix -mindepth 1 -maxdepth 1) .;
|
||||
zip rm -f unix/Contents; ln -sf \$(find unix -mindepth 1 -maxdepth 1) .;
|
||||
gettext sed -i.bak 's/-Wl,--disable-auto-import//' m4/woe32-dll.m4;
|
||||
expat cd expat; \
|
||||
sed -i.bak '/doc\\/Makefile/d' configure.ac; \
|
||||
sed -i.bak '/SUBDIRS/{; s/ doc//; }' Makefile.am; \
|
||||
sed -i.bak 's/cp \\\$</mv \$</' doc/doc.mk;
|
||||
glib cd subprojects/gvdb; \
|
||||
curl -sLO 'https://gitlab.gnome.org/GNOME/gvdb/-/archive/0854af0fdb6d527a8d1999835ac2c5059976c210/gvdb-0854af0fdb6d527a8d1999835ac2c5059976c210.tar.bz2'; \
|
||||
tar --strip-components=1 -jxf gvdb-0854af0fdb6d527a8d1999835ac2c5059976c210.tar.bz2; \
|
||||
rm gvdb-0854af0fdb6d527a8d1999835ac2c5059976c210.tar.bz2; \
|
||||
cd ../..;
|
||||
expat sed -i.bak '/doc\\/Makefile/d' configure.ac; \
|
||||
sed -i.bak '/SUBDIRS/{; s/ doc//; }' Makefile.am;
|
||||
graphviz sed -i.bak 's/ -export-symbols/ -Wl,-export-symbols/g' \$(find . -name Makefile.am); \
|
||||
putsln '#define __declspec(x)' > declspec.h;
|
||||
harfbuzz touch test/CMakeLists.txt;
|
||||
|
@ -305,31 +310,35 @@ DIST_PRE_BUILD="$DIST_PRE_BUILD
|
|||
XML-SAX sed -i.bak 's/-MXML::SAX/-Mblib -MXML::SAX/' Makefile.PL;
|
||||
docbook2x sed -i.bak 's/^\\( *SUBDIRS *= *.*\\)doc\\(.*\\)\$/\1\2/' Makefile.am; \
|
||||
sed -i.bak 's/^\\( *SUBDIRS *= *.*\\)documentation\\(.*\\)\$/\1\2/' xslt/Makefile.am;
|
||||
hiredis sed -i.bak 's/ SHARED / STATIC /' CMakeLists.txt;
|
||||
"
|
||||
|
||||
DIST_POST_BUILD="$DIST_POST_BUILD
|
||||
harfbuzz rebuild_dist freetype --with-harfbuzz=yes;
|
||||
pkgconf ln -sf \"\$BUILD_ROOT/root/bin/pkgconf\" \"\$BUILD_ROOT/root/bin/pkg-config\";
|
||||
harfbuzz rebuild_dist freetype -Dharfbuzz=enabled;
|
||||
flex-2.6.3 build_dist flex || :;
|
||||
libtool ln -sf \"\$BUILD_ROOT/root/bin/libtoolize\" \"\$BUILD_ROOT/root/bin/glibtoolize\";
|
||||
glib rebuild_dist gettext --without-included-glib --without-included-libxml;
|
||||
# graphviz (cd \"\$BUILD_ROOT/root/bin\"; path_exists dot_static && ! path_exists dot && ln -sf \"\$BUILD_ROOT/root/bin/dot_static\" ./dot || :);
|
||||
libxml2 mkdir -p \"\$BUILD_ROOT/root/etc/xml\"; \
|
||||
xmlcatalog --noout --create \"\$(cygpath -m \"\$BUILD_ROOT/root/etc/xml/catalog.xml\")\" || :;
|
||||
python2 pip2 install six;
|
||||
python3 pip3 install six;
|
||||
python2 python2 -m pip install six;
|
||||
python3 python3 -m pip install six; \
|
||||
rebuild_dist libxml2 --with-python --with-python3;
|
||||
fontconfig mkdir -p \"\$BUILD_ROOT/root/etc/fonts\"; \
|
||||
touch \"\$BUILD_ROOT/root/etc/fonts/fonts.conf\"; \
|
||||
sed -i.bak \"s|/usr/share/fonts|\$BUILD_ROOT/root/share/fonts|g\" \"\$BUILD_ROOT/root/etc/fonts/fonts.conf\";
|
||||
ffmpeg sed -i.bak 's/-lX11/ /g' \$BUILD_ROOT/root/lib/pkgconfig/libavutil.pc
|
||||
"
|
||||
|
||||
DIST_CONFIGURE_OVERRIDES="$DIST_CONFIGURE_OVERRIDES
|
||||
zlib-ng ./configure --prefix=/usr --static --zlib-compat
|
||||
openssl ./config no-shared --prefix=/usr --openssldir=/etc/ssl
|
||||
cmake ./configure --prefix=/usr --no-qt-gui --parallel=\$NUM_CPUS --enable-ccache
|
||||
zlib ./configure --prefix=/usr --static
|
||||
XML-SAX echo no | PERL_MM_USE_DEFAULT=0 perl Makefile.PL
|
||||
cmake ./configure --prefix=/usr --no-qt-gui --parallel=\$NUM_CPUS
|
||||
XML-SAX echo no | PERL_MM_USE_DEFAULT=0 \"\$perl\" Makefile.PL
|
||||
wxwidgets ./configure \$CONFIGURE_REQUIRED_ARGS --disable-shared --prefix=/usr --enable-stl --disable-precomp-headers --enable-cxx11 --enable-permissive --with-opengl --with-libpng
|
||||
libvpx ./configure --disable-shared --enable-static --prefix=/usr --disable-unit-tests --disable-tools --disable-docs --disable-examples
|
||||
ffmpeg ./configure --disable-shared --enable-static --prefix=/usr --pkg-config-flags=--static --enable-nonfree --extra-version=tessus --enable-fontconfig --enable-gpl --enable-version3 --enable-libass --enable-libbluray --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopus --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzmq --enable-openssl --enable-lzma --extra-cflags='-DMODPLUG_STATIC -DZMQ_STATIC' --extra-cxxflags='-DMODPLUG_STATIC -DZMQ_STATIC' --extra-objcflags='-DMODPLUG_STATIC -DZMQ_STATIC' --extra-libs=-liconv
|
||||
ffmpeg ./configure --disable-shared --enable-static --prefix=/usr --pkg-config-flags=--static --enable-nonfree --extra-version=tessus --enable-fontconfig --enable-gpl --enable-version3 --enable-libass --enable-libbluray --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopus --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzmq --enable-openssl --enable-lzma --extra-cflags='-DMODPLUG_STATIC -DZMQ_STATIC' --extra-cxxflags='-DMODPLUG_STATIC -DZMQ_STATIC' --extra-objcflags='-DMODPLUG_STATIC -DZMQ_STATIC' --extra-libs=-liconv --cc=\"\$CC\" --cxx=\"\$CXX\"
|
||||
"
|
||||
|
||||
DIST_BUILD_OVERRIDES="$DIST_BUILD_OVERRIDES
|
||||
|
@ -337,7 +346,6 @@ DIST_BUILD_OVERRIDES="$DIST_BUILD_OVERRIDES
|
|||
sed -i.bak \"s|/[^ ][^ ]*/libfl[.][^ ]*|-L\$BUILD_ROOT/root/lib -lfl|\" Makefile; \
|
||||
make -j\$NUM_CPUS; \
|
||||
make install bin=\"\$BUILD_ROOT/root/bin\" mansrc=\"\$BUILD_ROOT/root/share/man/man1\" privlib=\"\$BUILD_ROOT/root/lib/c2man\"
|
||||
libxml2-python python setup.py build install && python3 setup.py build install
|
||||
setuptools python bootstrap.py; python easy_install.py .
|
||||
pip easy_install .
|
||||
ninja python configure.py --bootstrap && cp -af ./ninja \"\$BUILD_ROOT/root/bin\"
|
||||
|
@ -348,7 +356,8 @@ DIST_BUILD_OVERRIDES="$DIST_BUILD_OVERRIDES
|
|||
docbook4.3 install_docbook_dist schema
|
||||
docbook4.4 install_docbook_dist schema
|
||||
docbook4.5 install_docbook_dist schema
|
||||
docbook5.0 install_docbook_dist schema
|
||||
docbook5.0.1 install_docbook_dist schema
|
||||
docbook5.1 install_docbook_dist schema
|
||||
docbook-xsl install_docbook_dist stylesheet
|
||||
docbook-xsl-ns install_docbook_dist stylesheet
|
||||
dejavu install_fonts
|
||||
|
@ -357,31 +366,35 @@ DIST_BUILD_OVERRIDES="$DIST_BUILD_OVERRIDES
|
|||
"
|
||||
|
||||
DIST_ARGS="$DIST_ARGS
|
||||
libicu --disable-extras --disable-tools --disable-tests --disable-samples
|
||||
pkgconf --disable-tests
|
||||
libicu --disable-extras --disable-tools --disable-tests --disable-samples --with-library-bits=64
|
||||
gettext --with-included-gettext --with-included-glib --with-included-libcroco --with-included-libunistring --with-included-libxml --disable-curses CPPFLAGS=\"\$CPPFLAGS -DLIBXML_STATIC\"
|
||||
pkgconfig --with-internal-glib --with-libiconv=gnu
|
||||
curl --with-ssl --without-brotli
|
||||
pcre --enable-utf8 --enable-pcre8 --enable-pcre16 --enable-pcre32 --enable-unicode-properties --enable-pcregrep-libz --enable-pcregrep-libbz2 --enable-jit
|
||||
pcre --enable-utf --enable-unicode-properties --enable-pcre16 --enable-pcre32 --enable-jit
|
||||
pcre2 --enable-utf8 --enable-pcre2-8 --enable-pcre2-16 --enable-pcre2-32 --enable-unicode-properties --enable-pcregrep-libz --enable-pcregrep-libbz2 --enable-jit
|
||||
libxslt --without-python --without-crypto
|
||||
libgd --without-xpm
|
||||
fontconfig --with-baseconfigdir=/etc/fonts
|
||||
graphviz --disable-ltdl --without-x --disable-swig CFLAGS=\"-include \$PWD/declspec.h \$CFLAGS\" CC=\"\$CXX\"
|
||||
python2 --with-ensurepip --with-system-expat
|
||||
python3 --with-ensurepip --with-system-expat
|
||||
python2 --with-ensurepip=install --with-system-expat
|
||||
python3 --with-ensurepip=install --with-system-expat
|
||||
bakefile --enable-shared
|
||||
XML-Parser EXPATINCPATH=\"\$BUILD_ROOT/root/include\" EXPATLIBPATH=\"\$BUILD_ROOT/root/lib\"
|
||||
doxygen -DICONV_ACCEPTS_NONCONST_INPUT:BOOL=FALSE -DICONV_ACCEPTS_CONST_INPUT:BOOL=TRUE
|
||||
sfml -DSFML_USE_SYSTEM_DEPS=TRUE
|
||||
libcroco --disable-Bsymbolic
|
||||
snappy -DSNAPPY_BUILD_TESTS=OFF -DSNAPPY_BUILD_BENCHMARKS=OFF
|
||||
libjpeg-turbo -DWITH_JPEG8=ON -DWITH_SIMD=OFF
|
||||
libtiff --disable-lzma --disable-webp
|
||||
freetype --with-harfbuzz=no
|
||||
freetype -Dharfbuzz=disabled
|
||||
harfbuzz --with-cairo=no --with-icu=no
|
||||
graphite2 -DGRAPHITE2_NFILEFACE=ON -DGRAPHITE2_TESTS=OFF -DGRAPHITE2_DOCS=OFF
|
||||
flac --disable-ogg
|
||||
libsoxr -DWITH_OPENMP=NO
|
||||
libxavs --disable-asm
|
||||
libzvbi --without-x
|
||||
libxml2 --without-python
|
||||
libxml2 --without-python --without-python3
|
||||
libbluray --disable-bdjava-jar --disable-examples
|
||||
libopencore-amrnb --disable-compile-c
|
||||
vidstab -DUSE_OMP=NO
|
||||
|
@ -389,7 +402,7 @@ DIST_ARGS="$DIST_ARGS
|
|||
libx265 -DHIGH_BIT_DEPTH=ON -DENABLE_ASSEMBLY=OFF -DENABLE_CLI=OFF
|
||||
"
|
||||
|
||||
export DIST_BARE_MAKE_ARGS='CC="$CC"'
|
||||
export DIST_BARE_MAKE_ARGS='CC="$CC" CXX="$CXX" LD="$CXX"'
|
||||
|
||||
export ALL_MAKE_ARGS='V=1 VERBOSE=1'
|
||||
|
||||
|
@ -411,6 +424,7 @@ DIST_MAKE_INSTALL_ARGS="$DIST_MAKE_INSTALL_ARGS
|
|||
"
|
||||
|
||||
DIST_EXTRA_LDFLAGS="$DIST_EXTRA_LDFLAGS
|
||||
python2 -lffi
|
||||
glib -liconv
|
||||
graphviz -lpcreposix
|
||||
doxygen -lintl -liconv
|
||||
|
@ -420,6 +434,7 @@ DIST_EXTRA_LDFLAGS="$DIST_EXTRA_LDFLAGS
|
|||
DIST_EXTRA_CXXFLAGS="$DIST_EXTRA_CXXFLAGS
|
||||
gperf -std=gnu++11
|
||||
doxygen -std=gnu++11
|
||||
sfml -std=gnu++11
|
||||
wxwidgets -std=gnu++11
|
||||
libmodplug -std=gnu++11
|
||||
libopencore-amrnb -std=gnu++11
|
||||
|
@ -445,6 +460,8 @@ builder() {
|
|||
read_command_line "$@"
|
||||
install_core_deps
|
||||
setup_perl
|
||||
setup_meson
|
||||
setup_ninja
|
||||
delete_outdated_dists
|
||||
pre_build_all
|
||||
build_prerequisites
|
||||
|
@ -547,7 +564,7 @@ export MAKEFLAGS=-j$NUM_CPUS
|
|||
"
|
||||
eval "$BUILD_ENV"
|
||||
|
||||
CHECKOUT=$(find_checkout)
|
||||
: ${CHECKOUT:=$(find_checkout)}
|
||||
|
||||
TMP_DIR=${TMP_DIR:-/tmp/builder-$$}
|
||||
|
||||
|
@ -583,9 +600,56 @@ num_cpus() {
|
|||
}
|
||||
|
||||
setup_perl() {
|
||||
if command -v perl >/dev/null; then
|
||||
if [ -x /usr/local/bin/perl ]; then
|
||||
perl=/usr/local/bin/perl
|
||||
else
|
||||
perl=$(command -v perl || :)
|
||||
fi
|
||||
|
||||
if [ -n "$perl" ]; then
|
||||
if [ -n "$msys2" ] || [ -n "$cygwin" ]; then
|
||||
ln -sf "$perl" "$BUILD_ROOT/root/bin/perl.exe"
|
||||
perl="$BUILD_ROOT/root/bin/perl.exe"
|
||||
else
|
||||
ln -sf "$perl" "$BUILD_ROOT/root/bin/perl"
|
||||
fi
|
||||
|
||||
if ! command -v cpanm >/dev/null; then
|
||||
perl -MApp::Cpan -e 'App::Cpan->run' -- -f -i App::cpanminus
|
||||
"$perl" -MApp::Cpan -e 'App::Cpan->run(qw/-f -i App::cpanminus/)'
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
setup_meson() {
|
||||
if [ -x /usr/local/bin/meson ]; then
|
||||
meson=/usr/local/bin/meson
|
||||
else
|
||||
meson=$(command -v meson || :)
|
||||
fi
|
||||
|
||||
if [ -n "$meson" ]; then
|
||||
if [ -n "$msys2" ] || [ -n "$cygwin" ]; then
|
||||
ln -sf "$meson" "$BUILD_ROOT/root/bin/meson.exe"
|
||||
meson="$BUILD_ROOT/root/bin/meson.exe"
|
||||
else
|
||||
ln -sf "$meson" "$BUILD_ROOT/root/bin/meson"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
setup_ninja() {
|
||||
if [ -x /usr/local/bin/ninja ]; then
|
||||
ninja=/usr/local/bin/ninja
|
||||
else
|
||||
ninja=$(command -v ninja || :)
|
||||
fi
|
||||
|
||||
if [ -n "$ninja" ]; then
|
||||
if [ -n "$msys2" ] || [ -n "$cygwin" ]; then
|
||||
ln -sf "$ninja" "$BUILD_ROOT/root/bin/ninja.exe"
|
||||
ninja="$BUILD_ROOT/root/bin/ninja.exe"
|
||||
else
|
||||
ln -sf "$ninja" "$BUILD_ROOT/root/bin/ninja"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
@ -718,7 +782,6 @@ msys2_install_core_deps() {
|
|||
|
||||
# make sure msys perl takes precedence over mingw perl if the latter is installed
|
||||
mkdir -p "$BUILD_ROOT/root/bin"
|
||||
ln -sf /usr/bin/perl.exe "$BUILD_ROOT/root/bin/perl.exe"
|
||||
|
||||
# alias python2 to python
|
||||
ln -sf /usr/bin/python2.exe "$BUILD_ROOT/root/bin/python.exe"
|
||||
|
@ -765,11 +828,11 @@ mac_install_core_deps() {
|
|||
error 'Please install XCode and the XCode Command Line Tools, then run this script again. On newer systems this can be done with: [35m;xcode-select --install[0m'
|
||||
fi
|
||||
|
||||
if ! command -v brew >/dev/null; then
|
||||
if ! [ -x /usr/local/bin/brew ]; then
|
||||
error 'Please install Mac Homebrew: [35m;https://brew.sh/[0m'
|
||||
fi
|
||||
|
||||
brew -v install perl meson
|
||||
/usr/local/bin/brew install -q perl meson ninja
|
||||
}
|
||||
|
||||
setup_tmp_dir() {
|
||||
|
@ -1431,7 +1494,7 @@ build_dist() {
|
|||
fi
|
||||
|
||||
check_install_artifact "$current_dist"
|
||||
elif [ "$config_type" = autoconf -o "$config_type" = autoreconf ] || [ -z "$config_type" -a \( -f configure -o -f Configure -o -f configure.ac -o -f configure.in -o -f Makefile.am \) ]; then
|
||||
elif [ "$config_type" = autoconf -o "$config_type" = autoreconf -o "$config_type" = autoreconf_noargs ] || [ -z "$config_type" -a \( -f configure -o -f Configure -o -f configure.ac -o -f configure.in -o -f Makefile.am \) ]; then
|
||||
# workaround a sometimes autoconf bug
|
||||
touch config.rpath
|
||||
|
||||
|
@ -1441,20 +1504,23 @@ build_dist() {
|
|||
else
|
||||
autogen=
|
||||
|
||||
if [ "$config_type" = autoreconf ] || [ ! -f configure ]; then
|
||||
if [ "$config_type" = autoreconf -o "$config_type" = autoreconf_noargs ] || [ ! -f configure ]; then
|
||||
autogen=1
|
||||
|
||||
if [ "$config_type" != autoreconf_noargs ]; then
|
||||
eval "set -- $CONFIGURE_REQUIRED_ARGS $(dist_args "$current_dist" autoconf) $extra_dist_args"
|
||||
else
|
||||
set --
|
||||
fi
|
||||
|
||||
if [ -f autogen.sh ]; then
|
||||
chmod +x autogen.sh
|
||||
eval "set -- $CONFIGURE_REQUIRED_ARGS $(dist_args "$current_dist" autoconf) $extra_dist_args"
|
||||
echo_run ./autogen.sh "$@"
|
||||
elif [ -f buildconf.sh ]; then
|
||||
chmod +x buildconf.sh
|
||||
eval "set -- $CONFIGURE_REQUIRED_ARGS $(dist_args "$current_dist" autoconf) $extra_dist_args"
|
||||
echo_run ./buildconf.sh "$@"
|
||||
elif [ -f bootstrap ]; then
|
||||
chmod +x bootstrap
|
||||
eval "set -- $CONFIGURE_REQUIRED_ARGS $(dist_args "$current_dist" autoconf) $extra_dist_args"
|
||||
echo_run ./bootstrap "$@"
|
||||
else
|
||||
if [ -d m4 ]; then
|
||||
|
@ -1574,18 +1640,18 @@ build_dist() {
|
|||
check_install_artifact "$current_dist"
|
||||
elif [ "$config_type" = python ] || [ -z "$config_type" -a -f setup.py ]; then
|
||||
if [ -z "$install_override" ]; then
|
||||
pip=
|
||||
set --
|
||||
if grep -Eq 'Python :: 3' PKG-INFO 2>/dev/null; then
|
||||
pip=pip3
|
||||
set -- 'python3 -m pip'
|
||||
fi
|
||||
if grep -Eq 'Python :: 2' PKG-INFO 2>/dev/null; then
|
||||
pip="$pip pip2"
|
||||
set -- "$@" 'python2 -m pip'
|
||||
fi
|
||||
|
||||
# default to python2 if no package info
|
||||
[ -z "$pip" ] && pip=pip
|
||||
[ "$#" = 0 ] && set -- 'python2 -m pip'
|
||||
|
||||
for pip in $pip; do
|
||||
for pip in "$@"; do
|
||||
if [ -n "$configure_override" ]; then
|
||||
eval "set -- $extra_dist_args"
|
||||
echo_eval_run "$configure_override $@"
|
||||
|
@ -1607,7 +1673,7 @@ build_dist() {
|
|||
echo_eval_run "$configure_override $@"
|
||||
else
|
||||
eval "set -- $(dist_args "$current_dist" perl) $extra_dist_args"
|
||||
echo_run perl Makefile.PL "$@"
|
||||
echo_run "$perl" Makefile.PL "$@"
|
||||
fi
|
||||
|
||||
dist_post_configure "$current_dist"
|
||||
|
@ -1680,11 +1746,16 @@ make_install() {
|
|||
|
||||
cd ..
|
||||
|
||||
ORIG_LIBRARY_PATH="$LIBRARY_PATH"
|
||||
unset LIBRARY_PATH
|
||||
|
||||
if grep -Eq 'DESTDIR|cmake_install\.cmake' $(find . -name Makefile -o -name makefile -o -name '*.mk' -o -name '*.mak') 2>/dev/null; then
|
||||
echo_eval_run make install $(dist_make_args $current_dist) prefix="${prefix}" PREFIX="${prefix}" DESTDIR="$PWD/destdir" "$@" || :
|
||||
else
|
||||
echo_eval_run make install $(dist_make_args $current_dist) prefix="$PWD/destdir${prefix}" PREFIX="$PWD/destdir${prefix}" INSTALL_PREFIX="$PWD/destdir${prefix}" INSTALL_ROOT="$PWD/destdir${prefix}" INSTALLTOP="/..${prefix}/" "$@" || :
|
||||
fi
|
||||
|
||||
export LIBRARY_PATH="$ORIG_LIBRARY_PATH"
|
||||
}
|
||||
|
||||
# assumes make install has run into ./destdir
|
||||
|
|
|
@ -43,14 +43,40 @@ if [ "$target_bits" -eq 32 ] && [ -d /Applications/Xcode9.app ]; then
|
|||
sudo xcode-select -s /Applications/Xcode9.app/Contents/Developer
|
||||
fi
|
||||
|
||||
# Unlink brew wxwidgets if installed because it interferes with ours.
|
||||
brew unlink wxwidgets >/dev/null 2>&1
|
||||
export BUILD_ROOT="${BUILD_ROOT:-$HOME/vbam-build-mac-${target_bits}bit}$BUILD_ROOT_SUFFIX"
|
||||
|
||||
export BUILD_ROOT="$HOME/vbam-build-mac-${target_bits}bit"
|
||||
ver_file=$(mktemp)
|
||||
sw_vers -productVersion | sed 's/\./ /g' > "$ver_file"
|
||||
read -r macos_major macos_minor macos_patch < "$ver_file"
|
||||
rm -f "$ver_file"
|
||||
|
||||
# Find the highest version clang and llvm in Nix or Homebrew.
|
||||
best_llvm=$(
|
||||
(
|
||||
for nix_clang in $(find /nix/store -maxdepth 1 -type d -name '*-clang-[0-9]*[0-9]'); do
|
||||
llvm_ver=$(echo "$nix_clang" | sed -E 's/.*-([0-9][0-9.]*[0-9])$/\1/')
|
||||
nix_llvm=$(find /nix/store -maxdepth 1 -type d -name '*-llvm-'"$llvm_ver")
|
||||
|
||||
if [ -x "$nix_clang/bin/clang++" ]; then
|
||||
echo "$nix_clang:$nix_llvm $($nix_clang/bin/clang++ --version | head -1 | awk '{ print $NF }')"
|
||||
fi
|
||||
done
|
||||
|
||||
for brew_llvm in $(find /usr/local/opt -maxdepth 1 -type l -name 'llvm*'); do
|
||||
if [ -x "$brew_llvm/bin/clang++" ]; then
|
||||
echo "$brew_llvm $($brew_llvm/bin/clang++ --version | head -1 | awk '{ print $NF }')"
|
||||
fi
|
||||
done
|
||||
) | sort -k2,2 -V -r | head -1 | awk '{ print $1 }'
|
||||
)
|
||||
|
||||
BUILD_ENV=$(cat <<EOF
|
||||
export MACOSX_DEPLOYMENT_TARGET=10.7
|
||||
export COMMAND_MODE=unix2003
|
||||
export PATH=/usr/bin:/bin:/usr/sbin:/sbin
|
||||
|
||||
[ -n "$best_llvm" ] && export PATH="$best_llvm/bin:\$PATH"
|
||||
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
export CPPFLAGS="-DICONV_CONST="
|
||||
|
@ -65,6 +91,7 @@ EOF
|
|||
)
|
||||
|
||||
export BUILD_ENV
|
||||
|
||||
export TAR=tar
|
||||
|
||||
if [ "$target_cpu" = i386 ]; then
|
||||
|
@ -73,10 +100,20 @@ fi
|
|||
|
||||
. "$(dirname "$0")/../builder/core.sh"
|
||||
|
||||
# Remove -lm, macOS does not use it and it can cause build failures.
|
||||
BUILD_ENV=$(printf '%s' "$BUILD_ENV" | sed 's/ -lm / /g')
|
||||
export BUILD_ENV
|
||||
|
||||
for dist in flex libsecret c2man graphviz zip; do
|
||||
table_line_remove DISTS "$dist"
|
||||
done
|
||||
|
||||
# LLVM libunwind.
|
||||
|
||||
table_insert_after DISTS cmake '
|
||||
libunwind https://github.com/llvm-mirror/libunwind/archive/3e6ec2ae9afaa3683269b690612f84d907943ea2.tar.gz lib/libunwind.a
|
||||
'
|
||||
|
||||
# issues with perl modules linked to our libs and brew perl
|
||||
table_line_remove DISTS shared-mime-info
|
||||
|
||||
|
@ -92,13 +129,29 @@ else
|
|||
table_line_replace DIST_CONFIGURE_OVERRIDES openssl './Configure darwin64-x86_64-cc no-shared --prefix=/usr --openssldir=/etc/ssl'
|
||||
fi
|
||||
|
||||
table_line_append DIST_EXTRA_CFLAGS libogg "-include \"$(xcode-select -p)\"/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdint.h"
|
||||
table_line_append DIST_PATCHES glib " \
|
||||
https://gist.githubusercontent.com/rkitover/05fb70a11cc8ddcea11230b4dc5fd48b/raw/b44288a2357acd4da62ee5f07ee106d36c91b887/macOS-glib-link-static-libintl-gettext.patch \
|
||||
"
|
||||
|
||||
table_line_append DIST_EXTRA_CFLAGS libvorbis "-include \"$(xcode-select -p)\"/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdint.h"
|
||||
stdint_h=
|
||||
|
||||
table_line_append DIST_EXTRA_CFLAGS libtheora "-include \"$(xcode-select -p)\"/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdint.h"
|
||||
if [ -f "$(xcode-select -p)/SDKs/MacOSX.sdk/usr/include/stdint.h" ]; then
|
||||
stdint_h="\"$(xcode-select -p)\"/SDKs/MacOSX.sdk/usr/include/stdint.h"
|
||||
elif [ -f "$(xcode-select -p)/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdint.h" ]; then
|
||||
stdint_h="\"$(xcode-select -p)\"/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdint.h"
|
||||
else
|
||||
die "Can't find macOS SDK 'stdint.h'"
|
||||
fi
|
||||
|
||||
table_line_append DIST_EXTRA_CFLAGS ffmpeg "-include \"$(xcode-select -p)\"/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdint.h"
|
||||
table_line_append DIST_EXTRA_CFLAGS libogg "-include $stdint_h"
|
||||
|
||||
table_line_append DIST_EXTRA_CFLAGS libvorbis "-include $stdint_h"
|
||||
|
||||
table_line_append DIST_EXTRA_CFLAGS libtheora "-include $stdint_h"
|
||||
|
||||
table_line_append DIST_EXTRA_CFLAGS ffmpeg "-include $stdint_h"
|
||||
|
||||
table_line_append DIST_MAKE_ARGS unzip "LD=clang"
|
||||
|
||||
# -Wl,-no_compact_unwind must be passed in LDFLAGS to openssl
|
||||
table_line_append DIST_MAKE_ARGS openssl "LDFLAGS=\"\$LDFLAGS\""
|
||||
|
@ -151,6 +204,3 @@ if [ -n "$PREV_XCODE" ]; then
|
|||
printf "\nRe-setting '$PREV_XCODE' as the default Xcode...\n\n"
|
||||
sudo xcode-select -s "$PREV_XCODE"
|
||||
fi
|
||||
|
||||
# Link brew wxwidgets back if installed.
|
||||
brew link wxwidgets >/dev/null 2>&1
|
Loading…
Reference in New Issue