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

Add Windows recipe #2

Merged
merged 23 commits into from
Sep 22, 2016
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
12 changes: 9 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,12 @@ Once the conda-forge channel has been enabled, freeglut can be installed with:
conda install freeglut
```

Or freeglut can be installed with a single command:

```
conda install freeglut -c conda-forge
```

It is possible to list all of the versions of freeglut available on your platform with:

```
Expand All @@ -51,8 +57,8 @@ packages to the [conda-forge](https://anaconda.org/conda-forge)

To manage the continuous integration and simplify feedstock maintenance
[conda-smithy](http://github.com/conda-forge/conda-smithy) has been developed.
Using the ``conda-forge.yml`` within this repository, it is possible to regenerate all of
this feedstock's supporting files (e.g. the CI configuration files) with ``conda smithy regenerate``.
Using the ``conda-forge.yml`` within this repository, it is possible to re-render all of
this feedstock's supporting files (e.g. the CI configuration files) with ``conda smithy rerender``.


Terminology
Expand All @@ -72,7 +78,7 @@ Current build status

Linux: [![Circle CI](https://circleci.com/gh/conda-forge/freeglut-feedstock.svg?style=shield)](https://circleci.com/gh/conda-forge/freeglut-feedstock)
OSX: ![](https://cdn.rawgit.com/conda-forge/conda-smithy/90845bba35bec53edac7a16638aa4d77217a3713/conda_smithy/static/disabled.svg)
Windows: ![](https://cdn.rawgit.com/conda-forge/conda-smithy/90845bba35bec53edac7a16638aa4d77217a3713/conda_smithy/static/disabled.svg)
Windows: [![AppVeyor](https://ci.appveyor.com/api/projects/status/github/conda-forge/freeglut-feedstock?svg=True)](https://ci.appveyor.com/project/conda-forge/freeglut-feedstock/branch/master)

Current release info
====================
Expand Down
80 changes: 80 additions & 0 deletions appveyor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
# This file was automatically generated by conda-smithy. To update a component of this
# file, make changes to conda-forge.yml and/or recipe/meta.yaml, and run
# "conda smithy rerender".

environment:

CONDA_INSTALL_LOCN: "C:\\conda"

# SDK v7.0 MSVC Express 2008's SetEnv.cmd script will fail if the
# /E:ON and /V:ON options are not enabled in the batch script intepreter
# See: http://stackoverflow.com/a/13751649/163740
CMD_IN_ENV: "cmd /E:ON /V:ON /C obvci_appveyor_python_build_env.cmd"

# We set a default Python version for the miniconda that is to be installed. This can be
# overridden in the matrix definition where appropriate.
CONDA_PY: "27"
BINSTAR_TOKEN:
# The BINSTAR_TOKEN secure variable. This is defined canonically in conda-forge.yml.
secure: 4ef5IUakGqqw7GSfuIp93Q4MdAC1VnweE1kFVAOUs6ThPDQWBqNpGaq6ZuEbX1FL
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changed to the original secure token in PR ( #12 ).


matrix:
- TARGET_ARCH: x86
CONDA_PY: 27

- TARGET_ARCH: x64
CONDA_PY: 27

- TARGET_ARCH: x86
CONDA_PY: 34

- TARGET_ARCH: x64
CONDA_PY: 34

- TARGET_ARCH: x86
CONDA_PY: 35

- TARGET_ARCH: x64
CONDA_PY: 35


# We always use a 64-bit machine, but can build x86 distributions
# with the TARGET_ARCH variable.
platform:
- x64

install:
# If there is a newer build queued for the same PR, cancel this one.
# The AppVeyor 'rollout builds' option is supposed to serve the same
# purpose but it is problematic because it tends to cancel builds pushed
# directly to master instead of just PR builds (or the converse).
# credits: JuliaLang developers.
- ps: if ($env:APPVEYOR_PULL_REQUEST_NUMBER -and $env:APPVEYOR_BUILD_NUMBER -ne ((Invoke-RestMethod `
https://ci.appveyor.com/api/projects/$env:APPVEYOR_ACCOUNT_NAME/$env:APPVEYOR_PROJECT_SLUG/history?recordsNumber=50).builds | `
Where-Object pullRequestId -eq $env:APPVEYOR_PULL_REQUEST_NUMBER)[0].buildNumber) { `
throw "There are newer queued builds for this pull request, failing early." }

# Cywing's git breaks conda-build. (See https://github.com/conda-forge/conda-smithy-feedstock/pull/2.)
- cmd: rmdir C:\cygwin /s /q
- appveyor DownloadFile "https://raw.githubusercontent.com/pelson/Obvious-CI/master/bootstrap-obvious-ci-and-miniconda.py"
- cmd: python bootstrap-obvious-ci-and-miniconda.py %CONDA_INSTALL_LOCN% %TARGET_ARCH% %CONDA_PY:~0,1% --without-obvci
- cmd: call %CONDA_INSTALL_LOCN%\Scripts\activate.bat
- cmd: set PYTHONUNBUFFERED=1

- cmd: conda config --set show_channel_urls true
- cmd: conda install -c pelson/channel/development --yes --quiet obvious-ci
- cmd: conda config --add channels conda-forge
- cmd: conda install -n root --quiet --yes conda-forge-build-setup
- cmd: run_conda_forge_build_setup
# This needs to be updated to conda-forge channel before PR
- appveyor DownloadFile "https://raw.githubusercontent.com/shadowwalkersb/conda-smithy/fix-appveyor-vc9-64/appveyor/setup_x64.bat"
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just realized that this was left over and made it to master.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-rendering in PR ( #7 ), which will strip this out. Also added a build number bump to get a clean build without this change.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So this fails without it, but it is because we are using the VS generator. If we switch to NMake, I expect this goes away.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is a package that was in the works in PR ( conda-forge/staged-recipes#617 ), which needs to be revitalized. It does a similar thing to what is being done here. Could you please take a look at it? If you have time, it would great to get that package fixed up so it could clear staged-recipes.

- cmd: call setup_x64.bat

# Skip .NET project specific build phase.
build: off

test_script:
- "%CMD_IN_ENV% conda build recipe --quiet"
deploy_script:

- 'python ci_support\upload_or_check_non_existence.py .\recipe conda-forge --channel=main'
4 changes: 2 additions & 2 deletions conda-forge.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
travis:
secure:
BINSTAR_TOKEN: YsbldV/Kx08dPydVAgaLzuOKg0Gq4j53cU58x6ecGOuJKf6MQS2hRP0fkoMOfdlpYp96rxbhLS5QbXc2MNjdqPaxNOSk/yoySzXGtoA30BcVmMxEoCe8VgLHAcXdS+EHYNrM//l62VzcAqmx7GWnVTGYISbXOhDhkb8YKk94vV1UTPwpfuWkvVHbCFKFCsqgllNblx4gBS/25vOVlZRkV9/hM5DDGW1PuOaYlQHWDpYZogVlk2WYmS0LnjCxOxEePArld8yvpuw3Y6NteoX0iAWQuXL5jkXwN3NrP8alG28Eqm7dnb90I4Tg6Rby8LrYYQq0gzeGtt8o8vHc7MsgNkcpsNjuNg6PLoShxGnOmpwhV7WJEMs9FPc1K2RF4WPrUPIJBKj1U/h4aetn0b2FyjgUBbNufjoaZkZ15Vqiy6yXTdcDQZy4bFH6wIir+hLXcL+2DxtG5GVvRAzgojp+2JXmCdU/Ide7bX5hR0wrZYdy4PdFBo9trE+MXCFpjgn+wIZkCDZByBJ5c/BZgOl8TldEtty365YVwCPKJwXz7ov0gICUJAauI1PYgoAxE98xZJ0IeOAcpIMt4HRYMIpf93tSwVlHfgtz9uZLhG0jVVl+NSsyUGWm8nPUrerQ4KcElFoiE+RE4gRdlfkp/xH9QtHvBgnc+HTlmcBu0qbX/CI=
BINSTAR_TOKEN: D7wZndpldVgZITPcLeMoESa7GynSjNMBsrfjg95o+upuKt0vyOSf1tzJ1xf8yL5p94RsLie9Sh1kHQLS8zP4eZj18cS36HzhHu3QxZSBU/I1fZ3gay1rWMg2/qy+o2zHYDA+xDRF1rk9VWuQLtPr1sb8YsOLktyeDg5uC/aCLBhkwSOtFmWcVeQqa3afRQNR9jMb1wwCRAYODNMcj568YeNatwd3YdB7Kt7HuL6pN4h65H4a0mcGfntHz0qmmB7Qbawc05jMgk724cpM6QHEqXBJkNt5z/FDXFbjXcm8EjuvcQvzn1MmZsak4s38RwkhAiY+G+fECF5zj7Dkbcnnq/m8BKp8Odh9c30/J4fb0YrA9wxHMRK7fcdTTPBWJ7ZAlmbXIHckKT6cHQDHa1iU5OwmdjIIZmrx1LSuzhN5zaFvXyfLkXnK/Hqbkn9kRXS5igM7XbGTzPHcFwJh5zTkLdkfLMfUGefYyh48EMYRer67Hbcp2fWH/TWXHDOt6ud81r7igP1pT3tNED8Nkb1YwT6XBXXC6JsyrSRXR5EhE8Fd/GHCl4xN89zFT2XvNAHnLmWRN1taHBO89Wv9QpqGvfAIF/KenBZVqZTzEzuJGgP3AKxPfDqEos4kvigCkAmpMR4WMu1jyPov0eD7IJSvX59/Y0grceKkxRwwoY8bgAk=
appveyor:
secure:
BINSTAR_TOKEN: MP4hZYylDyUWEsrt3u3cod2sbFeRwUziH02mvQOdbjsTO/l1yIxDkP/76rSIjcGC
BINSTAR_TOKEN: 4ef5IUakGqqw7GSfuIp93Q4MdAC1VnweE1kFVAOUs6ThPDQWBqNpGaq6ZuEbX1FL
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reverted in PR ( #12 ).

11 changes: 11 additions & 0 deletions recipe/bld.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
mkdir build && cd build
cmake ^
-G "%CMAKE_GENERATOR%" ^
-DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
-DCMAKE_INSTALL_BINDIR=%LIBRARY_BIN% ^
-DCMAKE_INSTALL_LIBDIR=%LIBRARY_LIB% ^
-DCMAKE_INSTALL_INCLUDEDIR=%LIBRARY_INC% ^
-DFREEGLUT_BUILD_DEMOS=OFF ^
..

cmake --build . --config Release --target INSTALL
28 changes: 22 additions & 6 deletions recipe/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,22 +10,37 @@ source:
md5: 90c3ca4dd9d51cf32276bc5344ec9754

build:
number: 0
skip: true # [not linux]
number: 1
skip: true # [osx]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add these above.

  features:
    - vc9   # [win and py27]
    - vc10  # [win and py34]
    - vc14  # [win and py35]

features:
- vc9 # [win and py27]
- vc10 # [win and py34]
- vc14 # [win and py35]

requirements:
build:
- cmake
- python # [win]

test:
requires:
- python {{ environ['PY_VER'] + '*' }} # [win]
commands:
# Test includes.
- test -d "${PREFIX}/include/GL"
- test -d "${PREFIX}/include/GL" # [linux]

# Test libraries.
- test -f "${PREFIX}/lib/libglut.a"
- test -f "${PREFIX}/lib/libglut.so"
- ldd "${PREFIX}/lib/libglut.so"
- test -f "${PREFIX}/lib/libglut.a" # [linux]
- test -f "${PREFIX}/lib/libglut.so" # [linux]
- ldd "${PREFIX}/lib/libglut.so" # [linux]

# Test Windows includes and libraries.
- if not exist %LIBRARY_INC%\\GL\\freeglut.h exit 1 # [win]
- if not exist %LIBRARY_INC%\\GL\\freeglut_ext.h exit 1 # [win]
- if not exist %LIBRARY_INC%\\GL\\freeglut_std.h exit 1 # [win]
- if not exist %LIBRARY_INC%\\GL\\glut.h exit 1 # [win]
- if not exist %LIBRARY_LIB%\\freeglut.lib exit 1 # [win]
- if not exist %LIBRARY_BIN%\\freeglut.dll exit 1 # [win]

about:
home: http://freeglut.sourceforge.net/
Expand All @@ -35,3 +50,4 @@ about:
extra:
recipe-maintainers:
- jakirkham
- shadowwalkersb