From a9252ffac5a2e0695c36f5ce661e215f6103a151 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20=C4=8Cert=C3=ADk?= Date: Fri, 1 May 2015 10:25:41 -0600 Subject: [PATCH 1/9] Update ncurses This is needed to fix the error described here: http://stackoverflow.com/questions/17691176/ Unfortunately upstream only distributes a large patch on top of the latest 5.9 release, so I created a github repository for the code and just use that. --- pkgs/ncurses/ncurses.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/ncurses/ncurses.yaml b/pkgs/ncurses/ncurses.yaml index f1ad68afd..f12240d83 100644 --- a/pkgs/ncurses/ncurses.yaml +++ b/pkgs/ncurses/ncurses.yaml @@ -1,8 +1,8 @@ extends: [autotools_package] sources: - - url: http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.9.tar.gz - key: tar.gz:sbdctd5uiazezhkbgxwou6dz77wykrw5 + - key: git:690232d93fc4ac57f0c9a484cc5781e8d1fe1fae + url: https://github.com/certik/ncurses defaults: relocatable: false From aa41e3b743adff7e54673472547385c2f185fa43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20=C4=8Cert=C3=ADk?= Date: Fri, 1 May 2015 11:30:45 -0600 Subject: [PATCH 2/9] gcc: install fixed dispatch/object.h header file Fixes #742. --- pkgs/gcc/gcc.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/gcc/gcc.yaml b/pkgs/gcc/gcc.yaml index 8710ab881..dd87891a9 100644 --- a/pkgs/gcc/gcc.yaml +++ b/pkgs/gcc/gcc.yaml @@ -22,6 +22,14 @@ build_stages: patch -up1 < _hashdist/rpath.patch sed -i "s|@@ARTIFACT@@|${ARTIFACT}|g" gcc/config/i386/gnu-user.h gcc/config/i386/gnu-user64.h + - when: platform == 'Darwin' + name: fix_object_h + before: configure + handler: bash + bash: | + mkdir -p "$ARTIFACT/include/dispatch" + sed 's+typedef void (\^dispatch_block_t)(void)+typedef void* dispatch_block_t+' /usr/include/dispatch/object.h > "$ARTIFACT/include/dispatch/object.h" + - name: link_lib64_to_lib after: install handler: bash From e11ea811994d6ecc61a80368fe33d280f3f5da2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20=C4=8Cert=C3=ADk?= Date: Fri, 1 May 2015 12:04:32 -0600 Subject: [PATCH 3/9] Update git to 2.4.0 --- pkgs/git.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/git.yaml b/pkgs/git.yaml index 4e7be7d35..6854f4f7e 100644 --- a/pkgs/git.yaml +++ b/pkgs/git.yaml @@ -4,8 +4,8 @@ dependencies: build: [curl, pcre, openssl, libiconv, gettext, expat, zlib, perl] sources: -- key: tar.gz:xix6qfhhbgs5b4bu5pucba74477o2cez - url: http://www.kernel.org/pub/software/scm/git/git-2.3.0.tar.gz +- key: tar.gz:2wghm2ua3bvf4gcgybghiymotc76yfmh + url: https://www.kernel.org/pub/software/scm/git/git-2.4.0.tar.gz defaults: # /bin/git contains hard-coded path From ed99ffd306f61f3a136a1a8088b818df3c721fea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20=C4=8Cert=C3=ADk?= Date: Fri, 1 May 2015 12:54:32 -0600 Subject: [PATCH 4/9] git: allow to set NO_APPLE_COMMON_CRYPTO=1 This fixes a build failure on OS X 10.10. Unfortunately, this disabled https access, so it is only enabled if 'disable_crypto' parameter is 'true'. --- pkgs/git.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/git.yaml b/pkgs/git.yaml index 6854f4f7e..eb74dc449 100644 --- a/pkgs/git.yaml +++ b/pkgs/git.yaml @@ -10,6 +10,7 @@ sources: defaults: # /bin/git contains hard-coded path relocatable: false + disable_crypto: false build_stages: @@ -19,6 +20,13 @@ build_stages: bash: | export PERL_PATH="/usr/bin/env perl" +- when: platform == 'Darwin' and disable_crypto + name: fix_crypto_compile_failure + before: configure + handler: bash + bash: | + export NO_APPLE_COMMON_CRYPTO=1 + - name: configure mode: override extra: ['--with-libpcre=${PCRE_DIR}', '--with-zlib=${ZLIB_DIR}', '--with-iconv=${LIBICONV_DIR}', '--with-expat=${EXPAT_DIR}', '--with-curl=${CURL_DIR}'] From 61297cae98ef8e0951506793b03f75560c2e41bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20=C4=8Cert=C3=ADk?= Date: Fri, 1 May 2015 14:38:20 -0600 Subject: [PATCH 5/9] CMake: fix the CMAKE_OSX_DEPLOYMENT_TARGET issue --- pkgs/cmake.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/cmake.yaml b/pkgs/cmake.yaml index 4da397372..5403e97df 100644 --- a/pkgs/cmake.yaml +++ b/pkgs/cmake.yaml @@ -5,6 +5,14 @@ sources: url: http://www.cmake.org/files/v3.2/cmake-3.2.0-rc1.tar.gz build_stages: +- when: platform == 'Darwin' + name: fix_deployment_target + after: prologue + before: configure + handler: bash + bash: | + unset MACOSX_DEPLOYMENT_TARGET + - name: configure extra: ['--parallel=${HASHDIST_CPU_COUNT}'] From d2e980d028ecdf483aa3638eaf1258215d0bdb5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20=C4=8Cert=C3=ADk?= Date: Fri, 1 May 2015 14:40:37 -0600 Subject: [PATCH 6/9] Update CMake to 3.2.2 --- pkgs/cmake.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/cmake.yaml b/pkgs/cmake.yaml index 5403e97df..70ab10827 100644 --- a/pkgs/cmake.yaml +++ b/pkgs/cmake.yaml @@ -1,8 +1,8 @@ extends: [autotools_package] sources: -- key: tar.gz:kcrzjtzo7wnjfxkbctv6fgmurgmezzxg - url: http://www.cmake.org/files/v3.2/cmake-3.2.0-rc1.tar.gz +- key: tar.gz:vxuu43rwaodxivs7flwyqzsbkrbuit5x + url: http://www.cmake.org/files/v3.2/cmake-3.2.2.tar.gz build_stages: - when: platform == 'Darwin' From b9aa6d7b7deaeb53e5cec67c80fcdc7e90910278 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20=C4=8Cert=C3=ADk?= Date: Fri, 1 May 2015 14:57:22 -0600 Subject: [PATCH 7/9] CMake: use our curl --- pkgs/cmake.yaml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/pkgs/cmake.yaml b/pkgs/cmake.yaml index 70ab10827..92d0a0620 100644 --- a/pkgs/cmake.yaml +++ b/pkgs/cmake.yaml @@ -1,5 +1,8 @@ extends: [autotools_package] +dependencies: + build: [curl] + sources: - key: tar.gz:vxuu43rwaodxivs7flwyqzsbkrbuit5x url: http://www.cmake.org/files/v3.2/cmake-3.2.2.tar.gz @@ -14,7 +17,14 @@ build_stages: unset MACOSX_DEPLOYMENT_TARGET - name: configure - extra: ['--parallel=${HASHDIST_CPU_COUNT}'] + extra: ['--parallel=${HASHDIST_CPU_COUNT}', + #'--system-bzip2', + '--system-curl', + #'--system-expat', + #'--system-jsoncpp', + #'--system-libarchive', + #'--system-zlib', + ] when_build_dependency: - set: CMAKE From 97bf823ba5561d809b0d88b5ca8e4638abe3c49f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20=C4=8Cert=C3=ADk?= Date: Fri, 1 May 2015 15:07:51 -0600 Subject: [PATCH 8/9] Fix cmake_package on Darwin --- base/cmake_package.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/base/cmake_package.py b/base/cmake_package.py index ad83dfbfe..853c85b95 100644 --- a/base/cmake_package.py +++ b/base/cmake_package.py @@ -34,6 +34,9 @@ def configure(ctx, stage_args): else: conf_lines.append('-DCMAKE_BUILD_TYPE:STRING=Release') + if ctx.parameters['platform'] == 'Darwin': + conf_lines.append('-DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=""') + #cmake needs to be given all the dependency dirs as prefix paths #so that we search the hashdist directories before the system directories #CMake doesn't use the CPPFLAGS implicitly to find libraries From a40775890f4041b7e308da60d6b9ba8defe202f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20=C4=8Cert=C3=ADk?= Date: Fri, 1 May 2015 15:44:37 -0600 Subject: [PATCH 9/9] Use Clang's linker to make AVX instructions work --- pkgs/csympy.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/csympy.yaml b/pkgs/csympy.yaml index 5caa5577f..d12c127c1 100644 --- a/pkgs/csympy.yaml +++ b/pkgs/csympy.yaml @@ -12,6 +12,12 @@ defaults: relocatable: false build_stages: +- name: cxx_flags + before: configure + handler: bash + bash: | + export CXXFLAGS="-Wa,-q" + - name: configure extra: ['-D WITH_PYTHON:BOOL=ON', '-D PYTHON_INSTALL_PATH:PATH=$ARTIFACT/{{python_site_packages_rel}}']