From 9cad8ba098104f3ccdd3bf268fbb8786c8fd7d1f Mon Sep 17 00:00:00 2001 From: Tomas Krizek Date: Fri, 22 Feb 2019 10:34:16 +0100 Subject: [PATCH] gitlabci: fix build:darwin in travis --- .gitlab-ci.yml | 16 +++++++++------- .travis.yml | 12 +++++++----- client/meson.build | 4 +--- meson.build | 5 ++++- tests/unit/meson.build | 6 +----- 5 files changed, 22 insertions(+), 21 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6f77be3c2..dbeb8ea6a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -131,13 +131,6 @@ kres-gen: tags: - docker -build:darwin: - <<: *test_nodep - when: delayed - start_in: 2 minutes - script: - - ci/travis.py ${CI_COMMIT_REF_NAME} - deckard: <<: *test_flaky variables: @@ -285,6 +278,15 @@ test:valgrind: # }}} # extended {{{ +build:darwin: + <<: *test_nodep + stage: extended + when: delayed + start_in: 5 minutes # give the build in Travis CI time to finish + allow_failure: true # https://github.com/Homebrew/homebrew-core/issues/37169 + script: + - ci/travis.py ${CI_COMMIT_REF_NAME} + pytests: <<: *test_flaky stage: extended # use this stage to avoid clash with other resource-intensive jobs diff --git a/.travis.yml b/.travis.yml index ff6155089..cd4452b7c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,6 +8,8 @@ addons: - luajit - libuv - lmdb + - meson + update: true compiler: - clang notifications: @@ -19,7 +21,6 @@ matrix: env: global: - KNOT_DNS_VERSION=v2.7.6 - - DYLD_LIBRARY_PATH="${HOME}/.local/lib" - MALLOC_CHECK_=3 - MALLOC_PERTURB_=223 before_script: @@ -30,8 +31,9 @@ before_script: - make -j2 install - cd .. script: - - CFLAGS="-O2 -g -fno-omit-frame-pointer -DDEBUG" make -j2 install check V=1 PREFIX=${HOME}/.local DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH} - - ./daemon/kresd -h - - ./daemon/kresd -V - - echo "quit()" | ./daemon/kresd -a 127.0.0.1@53535 . + - meson build_darwin --default-library=static --buildtype=debugoptimized --prefix=${HOME}/.local -Dc_args='-fno-omit-frame-pointer' + - ninja -C build_darwin install + - ${HOME}/.local/usr/sbin/kresd -h + - ${HOME}/.local/usr/sbin/kresd -V + - echo "quit()" | ${HOME}/.local/usr/sbin/kresd -a 127.0.0.1@53535 . sudo: false diff --git a/client/meson.build b/client/meson.build index 9d39a9505..cb297d420 100644 --- a/client/meson.build +++ b/client/meson.build @@ -11,9 +11,7 @@ if not get_option('client').disabled() libedit = dependency('libedit', required: false) if libedit.found() build_client = true - else - # fallback lib - # TODO why call find_library? osx workaround? + else # darwin workaround: missing pkgconfig libedit = meson.get_compiler('c').find_library('edit', required: get_option('client')) if libedit.found() build_client = true diff --git a/meson.build b/meson.build index de162c2c4..bca7ccdc5 100644 --- a/meson.build +++ b/meson.build @@ -14,7 +14,10 @@ libknot = dependency('libknot', version: knot_version) libdnssec = dependency('libdnssec', version: knot_version) libzscanner = dependency('libzscanner', version: knot_version) libuv = dependency('libuv', version: '>=1.7') -lmdb = dependency('lmdb') +lmdb = dependency('lmdb', required: false) +if not lmdb.found() # darwin workaround: missing pkgconfig + lmdb = meson.get_compiler('c').find_library('lmdb') +endif gnutls = dependency('gnutls') luajit = dependency('luajit') message('------------------------------') diff --git a/tests/unit/meson.build b/tests/unit/meson.build index a78f3f7bc..db6e87597 100644 --- a/tests/unit/meson.build +++ b/tests/unit/meson.build @@ -5,17 +5,13 @@ mock_cmodule_src = files([ 'mock_cmodule.c', ]) -mock_cmodule_lib = shared_library( +mock_cmodule_mod = shared_module( 'mock_cmodule', mock_cmodule_src, name_prefix: '', dependencies: libkres_dep, ) -mock_cmodule_dep = declare_dependency( - link_with: mock_cmodule_lib, -) - # executables with tests foreach unit_test : unit_tests exec_test = executable( -- 2.47.2