Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Swap libgomp with llvm-openmp #11

Merged
merged 5 commits into from
Aug 12, 2019
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
37 changes: 13 additions & 24 deletions .azure-pipelines/azure-pipelines-osx.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@ jobs:
- job: osx
pool:
vmImage: macOS-10.13
timeoutInMinutes: 240
timeoutInMinutes: 360
strategy:
maxParallel: 8
matrix:
osx_:
CONFIG: osx_
UPLOAD_PACKAGES: False
UPLOAD_PACKAGES: True

steps:
# TODO: Fast finish on azure pipelines?
Expand All @@ -28,29 +28,22 @@ jobs:
rm ~/uninstall_homebrew
displayName: Remove homebrew

- script: |
echo "Installing Miniconda"
set -x -e
curl -o $(Build.StagingDirectory)/miniconda.sh https://repo.continuum.io/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
chmod +x $(Build.StagingDirectory)/miniconda.sh
$(Build.StagingDirectory)/miniconda.sh -b -p $(Build.StagingDirectory)/miniconda
export PATH=$(Build.StagingDirectory)/miniconda/bin:$PATH
echo "Setting up Conda environment"
displayName: 'Install miniconda'
- bash: |
echo "##vso[task.prependpath]$CONDA/bin"
sudo chown -R $USER $CONDA
displayName: Add conda to PATH

- script: |
export PATH=$(Build.StagingDirectory)/miniconda/bin:$PATH
set -x -e
source activate base
conda install -n base -c conda-forge --quiet --yes conda-forge-ci-setup=2 conda-build
displayName: 'Add conda-forge-ci-setup=2'

- script: |
set -x -e
export PATH=$(Build.StagingDirectory)/miniconda/bin:$PATH
source activate base
echo "Configuring conda."

setup_conda_rc ./ ./recipe ./.ci_support/${CONFIG}.yaml

export CI=azure
source run_conda_forge_build_setup
conda update --yes --quiet --override-channels -c conda-forge -c defaults --all
env: {
Expand All @@ -59,26 +52,22 @@ jobs:
displayName: Configure conda and conda-build

- script: |
export PATH=$(Build.StagingDirectory)/miniconda/bin:$PATH
set -x -e
source activate base
mangle_compiler ./ ./recipe ./.ci_support/${CONFIG}.yaml
displayName: Mangle compiler

- script: |
export PATH=$(Build.StagingDirectory)/miniconda/bin:$PATH
set -x -e
source activate base
make_build_number ./ ./recipe ./.ci_support/${CONFIG}.yaml
displayName: Generate build number clobber file

- script: |
export PATH=$(Build.StagingDirectory)/miniconda/bin:$PATH
set -x -e
source activate base
conda build ./recipe -m ./.ci_support/${CONFIG}.yaml --clobber-file ./.ci_support/clobber_${CONFIG}.yaml
displayName: Build recipe

- script: |
export PATH=$(Build.StagingDirectory)/miniconda/bin:$PATH
set -x -e
source activate base
upload_package ./ ./recipe ./.ci_support/${CONFIG}.yaml
displayName: Upload recipe
env:
Expand Down
4 changes: 4 additions & 0 deletions .ci_support/osx_.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,16 @@ MACOSX_DEPLOYMENT_TARGET:
- '10.9'
c_compiler:
- clang
c_compiler_version:
- '4'
channel_sources:
- conda-forge,defaults
channel_targets:
- conda-forge main
cxx_compiler:
- clangxx
cxx_compiler_version:
- '4'
gmp:
- '6'
isl:
Expand Down
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @beckermr
15 changes: 0 additions & 15 deletions .github/CONTRIBUTING.md

This file was deleted.

25 changes: 0 additions & 25 deletions .github/ISSUE_TEMPLATE.md

This file was deleted.

18 changes: 0 additions & 18 deletions .github/PULL_REQUEST_TEMPLATE.md

This file was deleted.

65 changes: 0 additions & 65 deletions .travis.yml

This file was deleted.

2 changes: 1 addition & 1 deletion LICENSE.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
BSD 3-clause license
Copyright (c) 2015-2018, conda-forge
Copyright (c) 2015-2019, conda-forge
All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Expand Down
48 changes: 41 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
<!--
# -*- mode: jinja -*-
-->

About gfortran_impl_osx-64
==========================

Expand All @@ -18,9 +14,47 @@ Summary: Fortran compiler and libraries from the GNU Compiler Collection
Current build status
====================

[![OSX](https://img.shields.io/travis/conda-forge/gfortran_impl_osx-64-feedstock/master.svg?label=macOS)](https://travis-ci.org/conda-forge/gfortran_impl_osx-64-feedstock)
![Linux disabled](https://img.shields.io/badge/linux-disabled-lightgrey.svg)
![Windows disabled](https://img.shields.io/badge/Windows-disabled-lightgrey.svg)

<table>

<tr>
<td>Azure</td>
<td>
<details>
<summary>
<a href="https://dev.azure.com/conda-forge/feedstock-builds/_build/latest?definitionId=6149&branchName=master">
<img src="https://dev.azure.com/conda-forge/feedstock-builds/_apis/build/status/gfortran_impl_osx-64-feedstock?branchName=master">
</a>
</summary>
<table>
<thead><tr><th>Variant</th><th>Status</th></tr></thead>
<tbody><tr>
<td>osx</td>
<td>
<a href="https://dev.azure.com/conda-forge/feedstock-builds/_build/latest?definitionId=6149&branchName=master">
<img src="https://dev.azure.com/conda-forge/feedstock-builds/_apis/build/status/gfortran_impl_osx-64-feedstock?branchName=master&jobName=osx&configuration=osx_" alt="variant">
</a>
</td>
</tr>
</tbody>
</table>
</details>
</td>
</tr>
<tr>
<td>Linux</td>
<td>
<img src="https://img.shields.io/badge/linux-disabled-lightgrey.svg" alt="linux disabled">
</td>
</tr>
<tr>
<td>Windows</td>
<td>
<img src="https://img.shields.io/badge/Windows-disabled-lightgrey.svg" alt="Windows disabled">
</td>
</tr>
![ppc64le disabled](https://img.shields.io/badge/ppc64le-disabled-lightgrey.svg)
</table>

Current release info
====================
Expand Down
58 changes: 58 additions & 0 deletions build-locally.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
#!/usr/bin/env python3
#
# This file has been generated by conda-smithy in order to build the recipe
# locally.
#
import os
import glob
import subprocess
from argparse import ArgumentParser


def setup_environment(ns):
os.environ["CONFIG"] = ns.config
os.environ["UPLOAD_PACKAGES"] = "False"


def run_docker_build(ns):
script = glob.glob(".*/run_docker_build.sh")[0]
subprocess.check_call(script)

def verify_config(ns):
valid_configs = {os.path.basename(f)[:-5] for f in glob.glob(".ci_support/*.yaml")}
print(f"valid configs are {valid_configs}")
if ns.config in valid_configs:
print("Using " + ns.config + " configuration")
return
elif len(valid_configs) == 1:
ns.config = valid_configs.pop()
print("Found " + ns.config + " configuration")
elif ns.config is None:
print("config not selected, please choose from the following:\n")
selections = list(enumerate(sorted(valid_configs), 1))
for i, c in selections:
print(f"{i}. {c}")
s = input("\n> ")
idx = int(s) - 1
ns.config = selections[idx][1]
print(f"selected {ns.config}")
else:
raise ValueError("config " + ns.config + " is not valid")
# Remove the following, as implemented
if not ns.config.startswith('linux'):
raise ValueError(f"only Linux configs currently supported, got {ns.config}")


def main(args=None):
p = ArgumentParser("build-locally")
p.add_argument("config", default=None, nargs="?")

ns = p.parse_args(args=args)
verify_config(ns)
setup_environment(ns)

run_docker_build(ns)


if __name__ == "__main__":
main()
5 changes: 5 additions & 0 deletions recipe/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -34,3 +34,8 @@ cd build_conda
tail -n 5000 make_install_logs.txt
exit 1
}

rm $PREFIX/lib/libgomp.dylib
rm $PREFIX/lib/libgomp.1.dylib
ln -s $PREFIX/lib/libomp.dylib $PREFIX/lib/libgomp.dylib
ln -s $PREFIX/lib/libomp.dylib $PREFIX/lib/libgomp.1.dylib
8 changes: 7 additions & 1 deletion recipe/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ source:
- libgcc_macosx_min_version.patch

build:
number: 0
number: 1
skip: True # [not osx]

requirements:
Expand All @@ -31,6 +31,7 @@ requirements:
- mpfr
- isl
- mpc
- llvm-openmp >=8.0.0

outputs:
- name: libgfortran
Expand All @@ -53,6 +54,11 @@ outputs:
- lib/libgcc_s.{{ libgcc_s_version[0] }}.dylib
- lib/libgcc_s_ppc64.{{ libgcc_s_version[0] }}.dylib
- lib/libgcc_s_x86_64.{{ libgcc_s_version[0] }}.dylib
requirements:
host:
- llvm-openmp >=8.0.0
run:
- llvm-openmp >=8.0.0

run_exports:
- libgfortran >={{ libgfortran_version|join('.') }},<{{ max_libgfortran_version }}
Expand Down