[Mesa-dev] [PATCH 2/2] appveyor: Add a Cygwin build script
Jose Fonseca
jfonseca at vmware.com
Fri Jan 25 14:07:21 UTC 2019
I just noticed these patches, because Appveyor build is broken, and to
my surprise, on Cygwin.
There are several problems with these patches:
- First of all, there were commited with no reviewed by. Not by me (a
quick `git log appveyor.yml` would tell you I pretty much wrote and
maitain it). But worse of all, there's no review-by from anybody! This
is not a trivial change neither. Honestly, I'm disappointed by these
stealth commits. I don't have time to keep up with mesa-dev threads,
but I'm not MIA, and I've been responsive to all emails I've been CCed.
- Are you responsible for fixing the cygwin build? Somebody needs to
ensure Cygwin build stays in good health. Systematic failures of Cygwin
will cause the mesa-dev list to be spammed, and other developers to
become numb to failures. So we can't allow to happen. On the other
hand, I'm not familiar with how mesa is supposed to build work on
Cygwin, so I can't take than upon myself.
- The batch files are broken. Cmd.exe will not stop processing a batch
file when a error happens (appveyor does for comands started from
.yml.) so the scripts\appveyor_msvc.bat batch can fail one of the early
commands, and the exit code won't propagate to appveyor.)
As it stands I'm about to revert these two changes. We can bring cygwin
support back once the above issues have been addresed.
Jose
On 14/12/2018 19:20, Jon Turney wrote:
> Signed-off-by: Jon Turney <jon.turney at dronecode.org.uk>
> ---
> appveyor.yml | 19 +++++++++++++-----
> scripts/appveyor_cygwin.bat | 40 +++++++++++++++++++++++++++++++++++++
> 2 files changed, 54 insertions(+), 5 deletions(-)
> create mode 100644 scripts/appveyor_cygwin.bat
>
> diff --git a/appveyor.yml b/appveyor.yml
> index 0ec3a1e7bfe..9c6e5acd370 100644
> --- a/appveyor.yml
> +++ b/appveyor.yml
> @@ -38,6 +38,9 @@ cache:
> - '%LOCALAPPDATA%\pip\Cache -> appveyor.yml'
> - win_flex_bison-2.5.15.zip
> - llvm-5.0.1-msvc2017-mtd.7z
> +- C:\pkgcache
> +- 'C:\cygwin64\home\%USERNAME%\.ccache'
> +- 'C:\cygwin\home\%USERNAME%\.ccache'
>
> os: Visual Studio 2017
>
> @@ -47,17 +50,23 @@ init:
> - git config --global core.autocrlf true
>
> environment:
> - WINFLEXBISON_VERSION: 2.5.15
> - LLVM_ARCHIVE: llvm-5.0.1-msvc2017-mtd.7z
> + matrix:
> + - compiler: msvc
> + WINFLEXBISON_VERSION: 2.5.15
> + LLVM_ARCHIVE: llvm-5.0.1-msvc2017-mtd.7z
> + - compiler: cygwin
> + arch: x64
>
> install:
> -- call scripts\appveyor_msvc.bat install
> +- call scripts\appveyor_%compiler%.bat install
>
> build_script:
> -- call scripts\appveyor_msvc.bat build_script
> +- call scripts\appveyor_%compiler%.bat build_script
>
> after_build:
> -- call scripts\appveyor_msvc.bat after_build
> +- call scripts\appveyor_%compiler%.bat after_build
> +
> +test: off
>
> # It's possible to setup notification here, as described in
> # https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.appveyor.com%2Fdocs%2Fnotifications%23appveyor-yml-configuration&data=02%7C01%7Cjfonseca%40vmware.com%7C7e9e0b630a3e44c0101708d661f97a40%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C636804121479341361&sdata=0H2uZbwA9%2BFlkyDQtcsjXjbEQtthAOGfxh%2BfcCS%2Bd8M%3D&reserved=0 , but
> diff --git a/scripts/appveyor_cygwin.bat b/scripts/appveyor_cygwin.bat
> new file mode 100644
> index 00000000000..831270b8cd3
> --- /dev/null
> +++ b/scripts/appveyor_cygwin.bat
> @@ -0,0 +1,40 @@
> +set PKGCACHE=C:\pkgcache
> +set CYGWIN_MIRROR=http://cygwin.mirror.constant.com
> +
> +if _%arch%_ == _x64_ set SETUP=setup-x86_64.exe && set CYGWIN_ROOT=C:\cygwin64
> +if _%arch%_ == _x86_ set SETUP=setup-x86.exe && set CYGWIN_ROOT=C:\cygwin
> +
> +set PATH=%CYGWIN_ROOT%\bin;%SYSTEMROOT%\system32
> +
> +goto %1
> +
> +:install
> +echo Updating Cygwin and installing build prerequsites
> +%CYGWIN_ROOT%\%SETUP% -qnNdO -R "%CYGWIN_ROOT%" -s "%CYGWIN_MIRROR%" -l "%PKGCACHE%" -g -P ^
> +bison,^
> +ccache,^
> +flex,^
> +glproto,^
> +libX11-devel,^
> +libX11-xcb-devel,^
> +libXdamage-devel,^
> +libXext-devel,^
> +libXfixes-devel,^
> +libexpat-devel,^
> +libllvm-devel,^
> +libxcb-dri2-devel,^
> +libxcb-glx-devel,^
> +libxcb-xfixes-devel,^
> +meson,^
> +ninja,^
> +python3-mako,^
> +zlib-devel
> +goto :eof
> +
> +:build_script
> +bash -lc "cd $APPVEYOR_BUILD_FOLDER; meson _build -Degl=false --wrap-mode=nofallback && ninja -C _build"
> +goto :eof
> +
> +:after_build
> +bash -lc "cd $APPVEYOR_BUILD_FOLDER; ninja -C _build test"
> +goto :eof
More information about the mesa-dev
mailing list