[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