Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions .github/workflows/solvcon_runner.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,28 @@ jobs:
if: matrix.os != 'macos-latest'
run: |
source ${DEVENV_WORKSPACE}/contrib/ci-setup-apt.sh
- name: Cache Homebrew downloads (macOS)
if: matrix.os == 'macos-latest'
uses: actions/cache@v4
with:
path: |
~/Library/Caches/Homebrew
/usr/local/Homebrew
key: brew-${{ runner.os }}
restore-keys: |
brew-${{ runner.os }}-
- name: Dependency (macOS)
if: matrix.os == 'macos-latest'
run: |
brew update --quiet
brew install --cask mactex-no-gui
TEXBIN="/Library/TeX/texbin"
echo "PATH=${TEXBIN}:$PATH" >> $GITHUB_ENV
if [[ "$(uname -m)" == "arm64" ]]; then
echo "PYTHON_DECIMAL_WITH_MACHINE=uint128" >> $GITHUB_ENV
else
echo "PYTHON_DECIMAL_WITH_MACHINE=x64" >> $GITHUB_ENV
fi
- name: Launch SOLVCON
run: |
source ${DEVENV_WORKSPACE}/scripts/init
Expand Down
24 changes: 19 additions & 5 deletions applications/solvcon/entry.sh
Original file line number Diff line number Diff line change
Expand Up @@ -34,21 +34,35 @@ devenv build bzip2
# error: System version of SQLite does not support loadable extensions
# make: *** [sharedmods] Error 1
devenv build sqlite
VERSION=3.8 devenv build python
devenv build cmake
# pip>=25 requires virtualenv;
# disable via PIP_REQUIRE_VIRTUALENV=false
export PIP_REQUIRE_VIRTUALENV=false
VERSION=3.8.20 devenv build python
VERSION=3.31.9 devenv build cmake
# scotch will be used later by libmarch
# cmake will be used for building scotch
devenv build scotch

# prepare all packages to build SOLVCON
pip3 install "setuptools<60.0" wheel
pip3 install nose boto paramiko netCDF4
pip3 install sphinx furo Pillow
pip3 install numpy==1.21.4
devenv build pybind11
devenv build gmsh
VERSION=2.11.2 devenv build pybind11

devenv build hdf

if [[ "$(uname)" == "Darwin" ]]; then
CMAKE_C_FLAGS="-include unistd.h -include string.h" \
CFLAGS="-include unistd.h -include string.h" \
devenv build gmsh
else
devenv build gmsh
fi


python_exe_base=$(which python3)
PYTHON_EXE=${python_exe_base} devenv build cython
VERSION=0.29.37 PYTHON_EXE=${python_exe_base} devenv build cython

pushd ${SCSRC}
# make libmarch.so and SOLVCON
Expand Down
4 changes: 4 additions & 0 deletions contrib/ci-setup-apt.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,7 @@ sudo apt-get -qqy install \
fakeroot debhelper locales \
libffi-dev \
liblapack3 liblapack-dev

# for sphinx's latex engine
sudo apt-get install -qqy texlive-latex-base texlive-latex-recommended latexmk
sudo apt-get install -qqy ghostscript imagemagick
2 changes: 1 addition & 1 deletion scripts/build.d/cython
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ SRCSYNC=${SRCSYNC:-tarball}
if [ "${SRCSYNC}" == "tarball" ] ; then

# Tarball location: https://github.com/cython/cython/releases
pkgname=Cython
pkgname=cython
pkgver=${VERSION:-3.0.12}
pkgfull=${pkgname}-${pkgver}
pkgfn=${pkgfull}.tar.gz
Expand Down
12 changes: 9 additions & 3 deletions scripts/build.d/python
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,6 @@ pushd ${DEVENVFLAVORROOT}/${DEVENVFLAVOR}/src/${pkgfull} > /dev/null
cfgcmd+=("--enable-optimizations")
cfgcmd+=("--without-ensurepip")
cfgcmd+=("--with-system-expat")
cfgcmd+=("--with-system-ffi")
cfgcmd+=("--with-system-libmpdec")
cfgcmd+=("--with-readline=editline")
cfgcmd+=("--with-lto")
Expand All @@ -82,6 +81,8 @@ pushd ${DEVENVFLAVORROOT}/${DEVENVFLAVOR}/src/${pkgfull} > /dev/null
if [[ $(uname) == Darwin ]] ; then
cfgcmd+=("--with-dtrace")
cfgcmd+=("--with-dbmliborder=ndbm")
elif [ $(uname) == Linux ]; then
cfgcmd+=("--with-system-ffi")
fi

# Some Python extension does not work properly without this, e.g., pandas.
Expand All @@ -103,11 +104,16 @@ pushd ${DEVENVFLAVORROOT}/${DEVENVFLAVOR}/src/${pkgfull} > /dev/null
PY_BIN=${PREFIX}/bin/python3
CURL_URL=https://bootstrap.pypa.io/get-pip.py

IFS='.' read -ra VER <<< ${VERSION}
IFS='.' read -ra VER <<< "${VERSION}"

if [[ ${VER[0]} == "v2" ]]; then
if [[ "${VER[0]}" == "v2" || "${VER[0]}" == "2" ]]; then
PY_BIN=${PREFIX}/bin/python
CURL_URL=https://bootstrap.pypa.io/pip/2.7/get-pip.py
elif (( "${VER[0]}" == 3 && "${VER[1]}" < 6 )); then
echo "ERROR: Python ${pkgver} is below 3.6. get-pip is not supported."
exit 1
elif (( "${VER[0]}" == 3 && "${VER[1]}" < 9 )); then
CURL_URL="https://bootstrap.pypa.io/pip/${VER[0]}.${VER[1]}/get-pip.py"
fi

curl ${CURL_URL} | ${PY_BIN}
Expand Down