From 06d96757164bdd094b1ee374d1c1830476fcd511 Mon Sep 17 00:00:00 2001 From: Robin Deits Date: Sun, 29 Jan 2017 00:10:17 -0500 Subject: [PATCH 01/15] attempt to add appveyor build --- REQUIRE | 1 + appveyor.yml | 38 ++++++++++++++++++++++++++++++++++++++ deps/build.jl | 4 +++- 3 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 appveyor.yml diff --git a/REQUIRE b/REQUIRE index 84c6b26..a35b54a 100644 --- a/REQUIRE +++ b/REQUIRE @@ -1,3 +1,4 @@ julia 0.5 BinDeps 0.4.0 @osx Homebrew 0.3.0 +@windows WinRPM 0.2.0 diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 0000000..2098ab8 --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,38 @@ +environment: + matrix: + - JULIAVERSION: "julialang/bin/winnt/x86/0.5/julia-0.5-latest-win32.exe" + - JULIAVERSION: "julialang/bin/winnt/x64/0.5/julia-0.5-latest-win64.exe" + - JULIAVERSION: "julianightlies/bin/winnt/x86/julia-latest-win32.exe" + - JULIAVERSION: "julianightlies/bin/winnt/x64/julia-latest-win64.exe" + +branches: + only: + - master + +notifications: + - provider: Email + on_build_success: false + on_build_failure: false + on_build_status_changed: false + +install: +# If there's a newer build queued for the same PR, cancel this one + - 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." } +# Download most recent Julia Windows binary + - ps: (new-object net.webclient).DownloadFile( + $("http://s3.amazonaws.com/"+$env:JULIAVERSION), + "C:\projects\julia-binary.exe") +# Run installer silently, output to C:\projects\julia + - C:\projects\julia-binary.exe /S /D=C:\projects\julia + +build_script: +# Need to convert from shallow to complete for Pkg.clone to work + - IF EXIST .git\shallow (git fetch --unshallow) + - C:\projects\julia\bin\julia -F -e "versioninfo(); + Pkg.clone(pwd(), \"LCMCore\"); Pkg.build(\"LCMCore\")" + +test_script: + - C:\projects\julia\bin\julia -e "Pkg.test(\"LCMCore\")" \ No newline at end of file diff --git a/deps/build.jl b/deps/build.jl index 3fc0103..68677c1 100644 --- a/deps/build.jl +++ b/deps/build.jl @@ -41,7 +41,9 @@ lcm_cmake_arguments = String[] "-DCMAKE_LIBRARY_PATH=$(joinpath(Pkg.dir("Homebrew"), "deps", "usr", "lib"))") push!(lcm_cmake_arguments, "-DCMAKE_INCLUDE_PATH=$(joinpath(Pkg.dir("Homebrew"), "deps", "usr", "include"))") - +else if is_windows() + using WinRPM + provides(WinRPM.RPM, "libglib-2.0", [glib], os=:Windows) end provides(Yum, From f8909fbb07794b2e01f6e642bd033f7b974580b9 Mon Sep 17 00:00:00 2001 From: Robin Deits Date: Sun, 29 Jan 2017 00:13:33 -0500 Subject: [PATCH 02/15] fix stupid syntax error --- deps/build.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deps/build.jl b/deps/build.jl index 68677c1..ae024be 100644 --- a/deps/build.jl +++ b/deps/build.jl @@ -41,7 +41,7 @@ lcm_cmake_arguments = String[] "-DCMAKE_LIBRARY_PATH=$(joinpath(Pkg.dir("Homebrew"), "deps", "usr", "lib"))") push!(lcm_cmake_arguments, "-DCMAKE_INCLUDE_PATH=$(joinpath(Pkg.dir("Homebrew"), "deps", "usr", "include"))") -else if is_windows() +elseif is_windows() using WinRPM provides(WinRPM.RPM, "libglib-2.0", [glib], os=:Windows) end From 04a8b7c4fc3d8577669540307ebefa2e74078fba Mon Sep 17 00:00:00 2001 From: Robin Deits Date: Sun, 29 Jan 2017 00:20:35 -0500 Subject: [PATCH 03/15] fix winrpm package name --- deps/build.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deps/build.jl b/deps/build.jl index ae024be..5313747 100644 --- a/deps/build.jl +++ b/deps/build.jl @@ -43,7 +43,7 @@ lcm_cmake_arguments = String[] "-DCMAKE_INCLUDE_PATH=$(joinpath(Pkg.dir("Homebrew"), "deps", "usr", "include"))") elseif is_windows() using WinRPM - provides(WinRPM.RPM, "libglib-2.0", [glib], os=:Windows) + provides(WinRPM.RPM, "libglib-2_0-0", [glib], os=:Windows) end provides(Yum, From 16e78cb21c9415d2ed6f163e8393451ed208ae09 Mon Sep 17 00:00:00 2001 From: Robin Deits Date: Sun, 29 Jan 2017 00:26:14 -0500 Subject: [PATCH 04/15] debug --- appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index 2098ab8..464d135 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -32,7 +32,7 @@ build_script: # Need to convert from shallow to complete for Pkg.clone to work - IF EXIST .git\shallow (git fetch --unshallow) - C:\projects\julia\bin\julia -F -e "versioninfo(); - Pkg.clone(pwd(), \"LCMCore\"); Pkg.build(\"LCMCore\")" + Pkg.clone(pwd(), \"LCMCore\"); using BinDeps; println(BinDeps.debug(\"LCMCore\")); Pkg.build(\"LCMCore\")" test_script: - C:\projects\julia\bin\julia -e "Pkg.test(\"LCMCore\")" \ No newline at end of file From 2e7eb5a5be1dc74acaef07f9589744477e01f806 Mon Sep 17 00:00:00 2001 From: Robin Deits Date: Sun, 29 Jan 2017 00:42:48 -0500 Subject: [PATCH 05/15] windows BinDeps hack --- deps/build.jl | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/deps/build.jl b/deps/build.jl index 5313747..7765e1b 100644 --- a/deps/build.jl +++ b/deps/build.jl @@ -80,4 +80,9 @@ provides(BuildProcess, const lcm_prefix = "$prefix" """) +# Hack inspired by https://github.com/JuliaLang/BinDeps.jl/issues/55 +@windows_only push!(BinDeps.defaults, BuildProcess) + @BinDeps.install Dict(:lcm => :liblcm) + +@windows_only pop!(BinDeps.defaults) From 4c6d570227bbf4a32c1b42ede9953493b8a5d5e8 Mon Sep 17 00:00:00 2001 From: Robin Deits Date: Sun, 29 Jan 2017 00:44:52 -0500 Subject: [PATCH 06/15] modernize syntax --- deps/build.jl | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/deps/build.jl b/deps/build.jl index 7765e1b..e242d46 100644 --- a/deps/build.jl +++ b/deps/build.jl @@ -81,8 +81,12 @@ const lcm_prefix = "$prefix" """) # Hack inspired by https://github.com/JuliaLang/BinDeps.jl/issues/55 -@windows_only push!(BinDeps.defaults, BuildProcess) +@static if is_windows() + push!(BinDeps.defaults, BuildProcess) +end @BinDeps.install Dict(:lcm => :liblcm) -@windows_only pop!(BinDeps.defaults) +@static if is_windows() + pop!(BinDeps.defaults) +end From 459dc139c5b37aedbb4bca88a046404f1baeabc1 Mon Sep 17 00:00:00 2001 From: Robin Deits Date: Sun, 29 Jan 2017 00:54:18 -0500 Subject: [PATCH 07/15] wild guess at winRPM prefix path --- deps/build.jl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/deps/build.jl b/deps/build.jl index e242d46..3ce600c 100644 --- a/deps/build.jl +++ b/deps/build.jl @@ -38,11 +38,11 @@ lcm_cmake_arguments = String[] using Homebrew provides(Homebrew.HB, "glib", glib, os=:Darwin) push!(lcm_cmake_arguments, - "-DCMAKE_LIBRARY_PATH=$(joinpath(Pkg.dir("Homebrew"), "deps", "usr", "lib"))") - push!(lcm_cmake_arguments, - "-DCMAKE_INCLUDE_PATH=$(joinpath(Pkg.dir("Homebrew"), "deps", "usr", "include"))") + "-DCMAKE_PREFIX_PATH=$(joinpath(Pkg.dir("Homebrew"), "deps", "usr"))") elseif is_windows() using WinRPM + push!(lcm_cmake_arguments, + "-DCMAKE_PREFIX_PATH=$(joinpath(Pkg.dir("WinRPM"), "deps", "usr"))") provides(WinRPM.RPM, "libglib-2_0-0", [glib], os=:Windows) end From 25656ef2665b365d9adae6121baaf0dca3d9a908 Mon Sep 17 00:00:00 2001 From: Robin Deits Date: Sun, 29 Jan 2017 00:57:43 -0500 Subject: [PATCH 08/15] try again --- deps/build.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deps/build.jl b/deps/build.jl index 3ce600c..39a7d6a 100644 --- a/deps/build.jl +++ b/deps/build.jl @@ -42,7 +42,7 @@ lcm_cmake_arguments = String[] elseif is_windows() using WinRPM push!(lcm_cmake_arguments, - "-DCMAKE_PREFIX_PATH=$(joinpath(Pkg.dir("WinRPM"), "deps", "usr"))") + "-DCMAKE_PREFIX_PATH=$(joinpath(Pkg.dir("WinRPM"), "deps", "usr", "$(Sys.ARCH)-w64-mingw32", "sys-root", "mingw"))") provides(WinRPM.RPM, "libglib-2_0-0", [glib], os=:Windows) end From be06910a35610d7b291b9c4a07c67f56dd4a38cf Mon Sep 17 00:00:00 2001 From: Robin Deits Date: Sun, 29 Jan 2017 01:06:39 -0500 Subject: [PATCH 09/15] more debug --- deps/build.jl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/deps/build.jl b/deps/build.jl index 39a7d6a..b36eea5 100644 --- a/deps/build.jl +++ b/deps/build.jl @@ -42,7 +42,7 @@ lcm_cmake_arguments = String[] elseif is_windows() using WinRPM push!(lcm_cmake_arguments, - "-DCMAKE_PREFIX_PATH=$(joinpath(Pkg.dir("WinRPM"), "deps", "usr", "$(Sys.ARCH)-w64-mingw32", "sys-root", "mingw"))") + "-DCMAKE_PREFIX_PATH=$(joinpath(Pkg.dir("WinRPM"), "deps", "usr"))") provides(WinRPM.RPM, "libglib-2_0-0", [glib], os=:Windows) end @@ -67,6 +67,7 @@ lcm_cmake_command = `$lcm_cmake_command $lcm_srcdir` provides(BuildProcess, (@build_steps begin + @show readdir(joinpath(Pkg.dir("WinRPM"), "deps", "usr")) GetSources(lcm) CreateDirectory(lcm_builddir) @build_steps begin From 6d8240df9f7f030a955bd740dce524760fb96cfc Mon Sep 17 00:00:00 2001 From: Robin Deits Date: Sun, 29 Jan 2017 01:08:49 -0500 Subject: [PATCH 10/15] delay debug --- deps/build.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deps/build.jl b/deps/build.jl index b36eea5..2e57d11 100644 --- a/deps/build.jl +++ b/deps/build.jl @@ -67,7 +67,7 @@ lcm_cmake_command = `$lcm_cmake_command $lcm_srcdir` provides(BuildProcess, (@build_steps begin - @show readdir(joinpath(Pkg.dir("WinRPM"), "deps", "usr")) + () -> @show readdir(joinpath(Pkg.dir("WinRPM"), "deps", "usr")) GetSources(lcm) CreateDirectory(lcm_builddir) @build_steps begin From 94540db98eb539ff7b1e9a169b30a96bea023041 Mon Sep 17 00:00:00 2001 From: Robin Deits Date: Sun, 29 Jan 2017 01:12:43 -0500 Subject: [PATCH 11/15] even more debug --- deps/build.jl | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/deps/build.jl b/deps/build.jl index 2e57d11..c3a3a25 100644 --- a/deps/build.jl +++ b/deps/build.jl @@ -67,7 +67,14 @@ lcm_cmake_command = `$lcm_cmake_command $lcm_srcdir` provides(BuildProcess, (@build_steps begin - () -> @show readdir(joinpath(Pkg.dir("WinRPM"), "deps", "usr")) + () -> begin + path = joinpath(Pkg.dir("WinRPM"), "deps", "usr") + for element in ["$(Sys.ARCH)-w64-mingw32", "sys-root", "mingw", "bin"] + path = joinpath(path, element) + @show path + @show readdir(path) + end + end GetSources(lcm) CreateDirectory(lcm_builddir) @build_steps begin From d25811d7088d405a3648826e5f67641dee0923b1 Mon Sep 17 00:00:00 2001 From: Robin Deits Date: Sun, 29 Jan 2017 01:13:10 -0500 Subject: [PATCH 12/15] temporarily lighten the build load --- .travis.yml | 2 +- appveyor.yml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 40c5b88..0f80755 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,7 +3,7 @@ sudo: required dist: trusty os: - linux - - osx + # - osx julia: - 0.5 - nightly diff --git a/appveyor.yml b/appveyor.yml index 464d135..5cab910 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,9 +1,9 @@ environment: matrix: - - JULIAVERSION: "julialang/bin/winnt/x86/0.5/julia-0.5-latest-win32.exe" + # - JULIAVERSION: "julialang/bin/winnt/x86/0.5/julia-0.5-latest-win32.exe" - JULIAVERSION: "julialang/bin/winnt/x64/0.5/julia-0.5-latest-win64.exe" - - JULIAVERSION: "julianightlies/bin/winnt/x86/julia-latest-win32.exe" - - JULIAVERSION: "julianightlies/bin/winnt/x64/julia-latest-win64.exe" + # - JULIAVERSION: "julianightlies/bin/winnt/x86/julia-latest-win32.exe" + # - JULIAVERSION: "julianightlies/bin/winnt/x64/julia-latest-win64.exe" branches: only: From 1acf16c3319579fcf72b179939787d327e317aef Mon Sep 17 00:00:00 2001 From: Robin Deits Date: Sun, 29 Jan 2017 01:19:04 -0500 Subject: [PATCH 13/15] add "bin" to library path on win --- deps/build.jl | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/deps/build.jl b/deps/build.jl index c3a3a25..a4cc19e 100644 --- a/deps/build.jl +++ b/deps/build.jl @@ -41,8 +41,13 @@ lcm_cmake_arguments = String[] "-DCMAKE_PREFIX_PATH=$(joinpath(Pkg.dir("Homebrew"), "deps", "usr"))") elseif is_windows() using WinRPM + win_prefix = joinpath(Pkg.dir("WinRPM"), "deps", "usr", + "$(Sys.ARCH)-w64-mingw32", + "sys-root", + "mingw") push!(lcm_cmake_arguments, - "-DCMAKE_PREFIX_PATH=$(joinpath(Pkg.dir("WinRPM"), "deps", "usr"))") + "-DCMAKE_PREFIX_PATH=$(win_prefix)") + "-DCMAKE_LIBRARY_PATH=$(joinpath(win_prefix, "bin"))") provides(WinRPM.RPM, "libglib-2_0-0", [glib], os=:Windows) end @@ -69,7 +74,7 @@ provides(BuildProcess, (@build_steps begin () -> begin path = joinpath(Pkg.dir("WinRPM"), "deps", "usr") - for element in ["$(Sys.ARCH)-w64-mingw32", "sys-root", "mingw", "bin"] + for element in ["$(Sys.ARCH)-w64-mingw32", "sys-root", "mingw", "share"] path = joinpath(path, element) @show path @show readdir(path) From 637bf6c95b4aa8e24dd08eabfd5a24f34fbd9772 Mon Sep 17 00:00:00 2001 From: Robin Deits Date: Sun, 29 Jan 2017 01:21:18 -0500 Subject: [PATCH 14/15] sigh --- deps/build.jl | 1 + 1 file changed, 1 insertion(+) diff --git a/deps/build.jl b/deps/build.jl index a4cc19e..0acb99f 100644 --- a/deps/build.jl +++ b/deps/build.jl @@ -47,6 +47,7 @@ elseif is_windows() "mingw") push!(lcm_cmake_arguments, "-DCMAKE_PREFIX_PATH=$(win_prefix)") + push!(lcm_cmake_arguments, "-DCMAKE_LIBRARY_PATH=$(joinpath(win_prefix, "bin"))") provides(WinRPM.RPM, "libglib-2_0-0", [glib], os=:Windows) end From 1ddc273bce0fa0de8047c139971eb2c1583223e0 Mon Sep 17 00:00:00 2001 From: Robin Deits Date: Sun, 29 Jan 2017 02:16:28 -0500 Subject: [PATCH 15/15] try glib-dev --- deps/build.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/deps/build.jl b/deps/build.jl index 0acb99f..e229d5c 100644 --- a/deps/build.jl +++ b/deps/build.jl @@ -49,7 +49,7 @@ elseif is_windows() "-DCMAKE_PREFIX_PATH=$(win_prefix)") push!(lcm_cmake_arguments, "-DCMAKE_LIBRARY_PATH=$(joinpath(win_prefix, "bin"))") - provides(WinRPM.RPM, "libglib-2_0-0", [glib], os=:Windows) + provides(WinRPM.RPM, "glib-dev", [glib], os=:Windows) end provides(Yum, @@ -75,7 +75,7 @@ provides(BuildProcess, (@build_steps begin () -> begin path = joinpath(Pkg.dir("WinRPM"), "deps", "usr") - for element in ["$(Sys.ARCH)-w64-mingw32", "sys-root", "mingw", "share"] + for element in ["$(Sys.ARCH)-w64-mingw32", "sys-root", "mingw", "bin"] path = joinpath(path, element) @show path @show readdir(path)