From 789dba9c1d6d271d13bee0f366352da2ff907074 Mon Sep 17 00:00:00 2001 From: John Kirkham Date: Sun, 13 May 2018 13:16:39 -0400 Subject: [PATCH 01/11] Use 2 space indenting in `build` Try to match indenting in the rest of the recipe. --- recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index e58ca1d..5132b1c 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -10,8 +10,8 @@ source: sha256: b6ae1ee2fa3d42ac489287d3ec34c5885730b1296f0801ae577a35193d3affbc build: - number: 1 - skip: True # [win] + number: 1 + skip: True # [win] requirements: build: From 3b227180f1f9afa3084a245ad40379eb13a4474f Mon Sep 17 00:00:00 2001 From: John Kirkham Date: Sun, 13 May 2018 13:19:18 -0400 Subject: [PATCH 02/11] Drop `skip` on Windows Simply drop the `skip` on Windows to try and get Windows builds going. Everything else should already be in place. --- recipe/meta.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 5132b1c..997728a 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -11,7 +11,6 @@ source: build: number: 1 - skip: True # [win] requirements: build: From e4a4208f7685c3e7014892700603b7136e321271 Mon Sep 17 00:00:00 2001 From: conda-forge-admin Date: Sun, 13 May 2018 17:22:03 +0000 Subject: [PATCH 03/11] MNT: Re-rendered with conda-smithy 3.1.2 and pinning 2018.05.07 --- .appveyor.yml | 56 +++++++++++++++++++++++++++ .ci_support/win_c_compilervs2008.yaml | 2 + .ci_support/win_c_compilervs2015.yaml | 2 + README.md | 2 +- 4 files changed, 61 insertions(+), 1 deletion(-) create mode 100644 .appveyor.yml create mode 100644 .ci_support/win_c_compilervs2008.yaml create mode 100644 .ci_support/win_c_compilervs2015.yaml diff --git a/.appveyor.yml b/.appveyor.yml new file mode 100644 index 0000000..1c9e77a --- /dev/null +++ b/.appveyor.yml @@ -0,0 +1,56 @@ +# 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: + + BINSTAR_TOKEN: + # The BINSTAR_TOKEN secure variable. This is defined canonically in conda-forge.yml. + secure: ipv/06DzgA7pzz2CIAtbPxZSsphDtF+JFyoWRnXkn3O8j7oRe3rzqj3LOoq2DZp4 + + matrix: + - CONFIG: win_c_compilervs2008 + CONDA_INSTALL_LOCN: C:\Miniconda36-x64 + + - CONFIG: win_c_compilervs2015 + CONDA_INSTALL_LOCN: C:\Miniconda36-x64 + + +# 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. + - cmd: | + powershell -Command "(New-Object Net.WebClient).DownloadFile('https://raw.githubusercontent.com/conda-forge/conda-forge-ci-setup-feedstock/master/recipe/ff_ci_pr_build.py', 'ff_ci_pr_build.py')" + ff_ci_pr_build -v --ci "appveyor" "%APPVEYOR_ACCOUNT_NAME%/%APPVEYOR_PROJECT_SLUG%" "%APPVEYOR_BUILD_NUMBER%" "%APPVEYOR_PULL_REQUEST_NUMBER%" + del ff_ci_pr_build.py + + # Cywing's git breaks conda-build. (See https://github.com/conda-forge/conda-smithy-feedstock/pull/2.) + - cmd: rmdir C:\cygwin /s /q + + # Add path, activate `conda` and update conda. + - cmd: call %CONDA_INSTALL_LOCN%\Scripts\activate.bat + - cmd: conda.exe update --yes --quiet conda + + - cmd: set PYTHONUNBUFFERED=1 + + # Add our channels. + - cmd: conda.exe config --set show_channel_urls true + - cmd: conda.exe config --remove channels defaults + - cmd: conda.exe config --add channels defaults + - cmd: conda.exe config --add channels conda-forge + + # Configure the VM. + - cmd: conda.exe install -n root --quiet --yes conda-forge-ci-setup=1 + - cmd: run_conda_forge_build_setup + +# Skip .NET project specific build phase. +build: off + +test_script: + - conda.exe build recipe -m .ci_support\%CONFIG%.yaml --quiet +deploy_script: + - cmd: upload_or_check_non_existence .\recipe conda-forge --channel=main -m .ci_support\%CONFIG%.yaml diff --git a/.ci_support/win_c_compilervs2008.yaml b/.ci_support/win_c_compilervs2008.yaml new file mode 100644 index 0000000..3de2b54 --- /dev/null +++ b/.ci_support/win_c_compilervs2008.yaml @@ -0,0 +1,2 @@ +c_compiler: +- vs2008 diff --git a/.ci_support/win_c_compilervs2015.yaml b/.ci_support/win_c_compilervs2015.yaml new file mode 100644 index 0000000..f8b50c6 --- /dev/null +++ b/.ci_support/win_c_compilervs2015.yaml @@ -0,0 +1,2 @@ +c_compiler: +- vs2015 diff --git a/README.md b/README.md index 62881c3..84e0724 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ Current build status [![Linux](https://img.shields.io/circleci/project/github/conda-forge/libtheora-feedstock/master.svg?label=Linux)](https://circleci.com/gh/conda-forge/libtheora-feedstock) [![OSX](https://img.shields.io/travis/conda-forge/libtheora-feedstock/master.svg?label=macOS)](https://travis-ci.org/conda-forge/libtheora-feedstock) -![Windows disabled](https://img.shields.io/badge/Windows-disabled-lightgrey.svg) +[![Windows](https://img.shields.io/appveyor/ci/conda-forge/libtheora-feedstock/master.svg?label=Windows)](https://ci.appveyor.com/project/conda-forge/libtheora-feedstock/branch/master) Current release info ==================== From 46743bf3fa31a418e1671ac658babca4b459923a Mon Sep 17 00:00:00 2001 From: John Kirkham Date: Sun, 13 May 2018 13:25:49 -0400 Subject: [PATCH 04/11] Only use `pkg-config` on Unix --- recipe/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 997728a..70c3140 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -14,7 +14,7 @@ build: requirements: build: - - pkg-config + - pkg-config # [unix] - {{ compiler("c") }} host: From f849535606e47ec537f83149bc1bcdf678c5fd6c Mon Sep 17 00:00:00 2001 From: John Kirkham Date: Sun, 13 May 2018 13:26:35 -0400 Subject: [PATCH 05/11] Require `cmake` on Windows --- recipe/meta.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 70c3140..fe53720 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -15,6 +15,7 @@ build: requirements: build: - pkg-config # [unix] + - cmake # [win] - {{ compiler("c") }} host: From 829144cb9d8e9adf0686cd632fd4104aaa6956cd Mon Sep 17 00:00:00 2001 From: John Kirkham Date: Sun, 13 May 2018 13:27:33 -0400 Subject: [PATCH 06/11] Some whitespace fixes in `bld.bat` --- recipe/bld.bat | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipe/bld.bat b/recipe/bld.bat index cb91782..d8bbfff 100644 --- a/recipe/bld.bat +++ b/recipe/bld.bat @@ -7,7 +7,7 @@ mkdir build cd build :: Configure using the CMakeFiles -%LIBRARY_BIN%\cmake -G "NMake Makefiles" -DCMAKE_INSTALL_PREFIX:PATH="%LIBRARY_PREFIX%" -DCMAKE_BUILD_TYPE:STRING=Release .. +%LIBRARY_BIN%\cmake -G "NMake Makefiles" -DCMAKE_INSTALL_PREFIX:PATH="%LIBRARY_PREFIX%" -DCMAKE_BUILD_TYPE:STRING=Release .. if errorlevel 1 exit 1 :: Build! @@ -15,4 +15,4 @@ nmake if errorlevel 1 exit 1 nmake install -if errorlevel 1 exit 1 \ No newline at end of file +if errorlevel 1 exit 1 From 05bc4583c43a389d314083182ed7eb59162ea7fa Mon Sep 17 00:00:00 2001 From: John Kirkham Date: Sun, 13 May 2018 13:27:55 -0400 Subject: [PATCH 07/11] Drop path from CMake In `conda-build` 3 the location of `cmake` will be different as it is a `build` not a `host` dependency. In either case though, it should be on the path. So specifying the exact path to where `cmake` is should not be necessary. --- recipe/bld.bat | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/bld.bat b/recipe/bld.bat index d8bbfff..3fd7b64 100644 --- a/recipe/bld.bat +++ b/recipe/bld.bat @@ -7,7 +7,7 @@ mkdir build cd build :: Configure using the CMakeFiles -%LIBRARY_BIN%\cmake -G "NMake Makefiles" -DCMAKE_INSTALL_PREFIX:PATH="%LIBRARY_PREFIX%" -DCMAKE_BUILD_TYPE:STRING=Release .. +cmake -G "NMake Makefiles" -DCMAKE_INSTALL_PREFIX:PATH="%LIBRARY_PREFIX%" -DCMAKE_BUILD_TYPE:STRING=Release .. if errorlevel 1 exit 1 :: Build! From b2a19aada9a01eafef2029343e2864a32b7c62bb Mon Sep 17 00:00:00 2001 From: John Kirkham Date: Sun, 13 May 2018 14:05:38 -0400 Subject: [PATCH 08/11] Some whitespace fixes in `CMakeLists.txt` --- recipe/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/CMakeLists.txt b/recipe/CMakeLists.txt index b509933..5233e7b 100644 --- a/recipe/CMakeLists.txt +++ b/recipe/CMakeLists.txt @@ -113,4 +113,4 @@ install(TARGETS THEORA file(GLOB INCLUDE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/*.h) # Copy .h files to include dir. install(DIRECTORY ${THEORA_SOURCE_DIR}/include/theora DESTINATION include - FILES_MATCHING PATTERN "*.h") \ No newline at end of file + FILES_MATCHING PATTERN "*.h") From c3895bc5c59b5c423d3828413a4f96afde5a1ace Mon Sep 17 00:00:00 2001 From: John Kirkham Date: Sun, 13 May 2018 14:10:49 -0400 Subject: [PATCH 09/11] Fixes to the vendored `CMakeLists.txt` Appears some files listed as sources were missing or in some cases a few were left out. This corrects those issues. --- recipe/CMakeLists.txt | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/recipe/CMakeLists.txt b/recipe/CMakeLists.txt index 5233e7b..ff88da4 100644 --- a/recipe/CMakeLists.txt +++ b/recipe/CMakeLists.txt @@ -47,7 +47,6 @@ set(THEORA_SRC lib/analyze.c lib/apiwrapper.c lib/bitpack.c - lib/collect.c lib/decapiwrapper.c lib/decinfo.c lib/decode.c @@ -75,9 +74,8 @@ set(THEORA_SRC lib/x86/mmxfrag.c lib/x86/mmxidct.c lib/x86/mmxstate.c - lib/x86/sse2idct.c - lib/x86/x86cpu.c - lib/x86/x86enquant.c + lib/x86/sse2fdct.c + lib/x86/x86enc.c lib/x86/x86state.c ) From e71a0e574a5d64ca0ad1a77993d727f7d5af4c4a Mon Sep 17 00:00:00 2001 From: John Kirkham Date: Sun, 13 May 2018 14:16:29 -0400 Subject: [PATCH 10/11] Use x86 assembly tailored for VC --- recipe/CMakeLists.txt | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/recipe/CMakeLists.txt b/recipe/CMakeLists.txt index ff88da4..2278fd6 100644 --- a/recipe/CMakeLists.txt +++ b/recipe/CMakeLists.txt @@ -69,14 +69,14 @@ set(THEORA_SRC lib/rate.c lib/state.c lib/tokenize.c - lib/x86/mmxencfrag.c - lib/x86/mmxfdct.c - lib/x86/mmxfrag.c - lib/x86/mmxidct.c - lib/x86/mmxstate.c - lib/x86/sse2fdct.c - lib/x86/x86enc.c - lib/x86/x86state.c + lib/x86_vc/mmxencfrag.c + lib/x86_vc/mmxfdct.c + lib/x86_vc/mmxfrag.c + lib/x86_vc/mmxidct.c + lib/x86_vc/mmxstate.c + lib/x86_vc/sse2fdct.c + lib/x86_vc/x86enc.c + lib/x86_vc/x86state.c ) add_library(THEORA SHARED From 8f3c4f0e22e556ce597279132365816308ed81c1 Mon Sep 17 00:00:00 2001 From: John Kirkham Date: Sun, 13 May 2018 14:20:35 -0400 Subject: [PATCH 11/11] Update source listing in x86_vc Appears that `sse2fdct.c` is not in `x86_vc`. So drop it from the listed sources in the `x86_vc` directory. --- recipe/CMakeLists.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/recipe/CMakeLists.txt b/recipe/CMakeLists.txt index 2278fd6..a36569c 100644 --- a/recipe/CMakeLists.txt +++ b/recipe/CMakeLists.txt @@ -74,7 +74,6 @@ set(THEORA_SRC lib/x86_vc/mmxfrag.c lib/x86_vc/mmxidct.c lib/x86_vc/mmxstate.c - lib/x86_vc/sse2fdct.c lib/x86_vc/x86enc.c lib/x86_vc/x86state.c )