Skip to content
Snippets Groups Projects
Commit c72ed205 authored by Adam Jensen's avatar Adam Jensen Committed by Rasmus Thomsen
Browse files

testing/avida: new aport

parent b044bd73
1 merge request!7519testing/avida: new aport
The tcmalloc build currently fails on musl (see e.g. [1]). Avida's build system doesn't make it easy to
disable tcmalloc, so this patch is needed.
[1] https://github.com/gperftools/gperftools/issues/693
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 30008d679..f1598704a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -17,7 +17,7 @@ SET(LIBRARY_OUTPUT_PATH
ADD_SUBDIRECTORY(libs/apto)
-IF(NOT WIN32)
+IF(NOT WIN32 AND AVD_ENABLE_TCMALLOC)
ADD_SUBDIRECTORY(libs/tcmalloc-1.4)
ENDIF(NOT WIN32)
ADD_SUBDIRECTORY(avida-core)
diff --git a/avida-core/CMakeLists.txt b/avida-core/CMakeLists.txt
index d9d063ef6..053956a91 100644
--- a/avida-core/CMakeLists.txt
+++ b/avida-core/CMakeLists.txt
@@ -388,36 +388,6 @@ ENDIF(WIN32)
#ENDIF(WIN32)
-# Locate TCMalloc
-IF(NOT TARGET tcmalloc-1.4)
- FIND_LIBRARY(TCMALLOC_LIBRARY tcmalloc-1.4 PATHS ${PROJECT_SOURCE_DIR}/../cbuild/lib ${PROJECT_SOURCE_DIR}/../libs/tcmalloc-1.4/cbuild/lib)
- ADD_LIBRARY(tcmalloc-1.4 STATIC IMPORTED)
- SET_PROPERTY(TARGET tcmalloc-1.4 PROPERTY IMPORTED_LOCATION "${TCMALLOC_LIBRARY}")
-ENDIF(NOT TARGET tcmalloc-1.4)
-
-
-# Handle the TCMalloc library
-# ------------------------------------------------------------------------------
-IF(UNIX)
- IF (CMAKE_CXX_COMPILER MATCHES ".*icpc.*")
- SET(AVD_ENABLE_TCMALLOC FALSE)
- ELSE (CMAKE_CXX_COMPILER MATCHES ".*icpc.*")
- SET(AVD_ENABLE_TCMALLOC TRUE)
- ENDIF (CMAKE_CXX_COMPILER MATCHES ".*icpc.*")
-ELSE(UNIX)
- SET(AVD_ENABLE_TCMALLOC FALSE)
-ENDIF(UNIX)
-IF(AVD_ENABLE_TCMALLOC)
- # Locate TCMalloc
- IF(NOT TARGET tcmalloc-1.4)
- FIND_LIBRARY(TCMALLOC_LIBRARY tcmalloc-1.4 PATHS ${PROJECT_SOURCE_DIR}/../cbuild/lib ${PROJECT_SOURCE_DIR}/../libs/tcmalloc/cbuild/lib)
- ADD_LIBRARY(tcmalloc-1.4 STATIC IMPORTED)
- SET_PROPERTY(TARGET tcmalloc-1.4 PROPERTY IMPORTED_LOCATION "${TCMALLOC_LIBRARY}")
- ENDIF(NOT TARGET tcmalloc-1.4)
-ENDIF(AVD_ENABLE_TCMALLOC)
-
-
-
# Target Processing
# - For each enabled target, process its build instructions. Must occur after
# - avida-core has been defined.
# Maintainer: Adam Jensen <acjensen@gmail.com>
pkgname=avida
pkgver=0_git20190813
_sha=ca1f311bc1bcaf021390c63bce6aa9455bbd44cc
_apto_sha=9184c91a3a82297c420540baaf355aac80213a29
pkgrel=0
pkgdesc="A scientific software platform for conducting and analyzing experiments with self-replicating and evolving computer programs"
url="https://avida.devosoft.org/"
arch="x86 x86_64" # build currently fails on non-intel arches
license="GPL-3.0-only"
makedepends="cmake linux-headers"
source="$pkgname-$pkgver.tar.gz::https://github.com/devosoft/avida/archive/$_sha.tar.gz
apto.tar.gz::https://github.com/dmbryson/apto/archive/$_apto_sha.tar.gz
10-remove-forced-tcmalloc.patch"
builddir="$srcdir/avida-$_sha"
prepare() {
rm -rf "$builddir"/libs/apto && mv "$srcdir"/apto-$_apto_sha "$builddir"/libs/apto
default_prepare
}
build() {
cmake -B build \
-DCMAKE_INSTALL_PREFIX:PATH=/usr \
-DCMAKE_BUILD_TYPE=None \
-DAVD_UNIT_TESTS:BOOL=ON \
-DAVD_ENABLE_TCMALLOC:BOOL=OFF \
-DHAVE_FUSED_MADD:BOOL=OFF \
-DCMAKE_CXX_FLAGS="$CXXFLAGS -Wno-expansion-to-defined"
make -C build
}
check() {
build/bin/unit-tests
}
package() {
install -Dm755 build/bin/avida "$pkgdir"/usr/bin/avida
mkdir -p "$pkgdir"/usr/share/avida
cp -R avida-core/support/* "$pkgdir"/usr/share/avida
}
sha512sums="09332469e4aab96c0775f3d8e5a8e9c2544468bd6b461e5a30edac2d6fb0049fbb4db4860e54d94a2f010830a593377bc5345404ca6d78acba1e968a352f889d avida-0_git20190813.tar.gz
e0f8aab74198f07e2edbd0d5083792eaab91a96c4065e1bba6295bb4d6a784665744d812ce1e40393a1da015a9048cbc6c15229dd20da2de9f32692b0d870cfb apto.tar.gz
be92b7f3015cccaa64f2065bb552237176b044cbc16fa6dcef368b02aa53c9c3fdcfbb608b4fea2d6d720fe2a01f3362da87bf427fcb95942486c06fddba2892 10-remove-forced-tcmalloc.patch"
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment