From 11158b8cfbb3175d0a180586dd65e3ecacceb332 Mon Sep 17 00:00:00 2001 From: David Anthoff Date: Tue, 7 Nov 2017 21:37:05 -0800 Subject: [PATCH 01/19] Use BinaryProvider --- deps/build.jl | 43 ++++++++++++++++++++++++++++--------------- 1 file changed, 28 insertions(+), 15 deletions(-) diff --git a/deps/build.jl b/deps/build.jl index 771510f..8e309ba 100644 --- a/deps/build.jl +++ b/deps/build.jl @@ -1,20 +1,33 @@ -using BinDeps -@BinDeps.setup +using BinaryProvider -snappy = library_dependency("libsnappy") +const prefix = Prefix(joinpath(@__DIR__,"usr")) -# BinDeps issue: fails on sudo prompt -#provides(AptGet, { -# "libsnappy-dev" => snappy -#}) +const platform = platform_key() -version = "1.1.4" -provides(Sources, URI("https://github.com/google/snappy/releases/download/$(version)/snappy-$(version).tar.gz"), snappy, unpacked_dir="snappy-$(version)") -provides(BuildProcess, Autotools(libtarget=dirname(@__FILE__) * "/builds/libsnappy/.libs/libsnappy." * Libdl.dlext), snappy, os=:Unix) +libsnappy = LibraryProduct(prefix, "libsnappy") -@static if is_apple() - using Homebrew - provides(Homebrew.HB, "snappy", snappy, os=:Darwin) -end +const bin_prefix="https://github.com/davidanthoff/SnappyBuilder/releases/download/v1.1.7" + +# TODO Update hash values, only the Windows x64 hash is correct right now +const download_info = Dict( + Linux(:i686) => ("$bin_prefix/SnappyBuilder.i686-linux-gnu.tar.gz", "1398353bcbbd88338189ece9c1d6e7c508df120bc4f93afbaed362a9f91358ff"), + Linux(:x86_64) => ("$bin_prefix/SnappyBuilder.x86_64-linux-gnu.tar.gz", "b9d57a6e032a56b1f8641771fa707523caa72f1a2e322ab99eeeb011f13ad9f3"), + Linux(:aarch64) => ("$bin_prefix/SnappyBuilder.aarch64-linux-gnu.tar.gz", "19d9da0e6e7fb506bf4889eb91e936fda43493a39cd4fd7bd5d65506cede6f95"), + Linux(:armv7l) => ("$bin_prefix/SnappyBuilder.arm-linux-gnueabihf.tar.gz", "8e33c1a0e091e6e5b8fcb902e5d45329791bb57763ee9cbcde49c1ec9bd8532a"), + Linux(:ppc64le) => ("$bin_prefix/SnappyBuilder.powerpc64le-linux-gnu.tar.gz", "b48a64d48be994ec99b1a9fb60e0af7f4415a57596518cb90a340987b79fad81"), + MacOS() => ("$bin_prefix/SnappyBuilder.x86_64-apple-darwin14.tar.gz", "661b71edb433ab334b0fef70db3b5c45d35f2b3bee0d244f54875f1ec899c10f"), + Windows(:i686) => ("$bin_prefix/SnappyBuilder.i686-w64-mingw32.tar.gz", "3d4a8d4bf0169007a42d809a1d560083635b1540a1bc4a42108841dcb6d2aaea"), + Windows(:x86_64) => ("$bin_prefix/SnappyBuilder.x86_64-w64-mingw32.tar.gz", "f38bdb78a654d67d9571d74e16efef3ad2ab849aa95f4fdfb75b5596adfdd2aa"), +) + +if platform in keys(download_info) + # Grab the url and tarball hash for this particular platform + url, tarball_hash = download_info[platform] -@BinDeps.install Dict(:libsnappy => :libsnappy) + install(url, tarball_hash; prefix=prefix, force=true, verbose=true) + + # Finaly, write out a deps file containing paths to libsnappy and fooifier + @write_deps_file libsnappy +else + error("Your platform $(Sys.MACHINE) is not recognized, we cannot install libsnappy.") +end From e9b8894a8e4f9e4c840cee66b0475ea40b0f5271 Mon Sep 17 00:00:00 2001 From: David Anthoff Date: Tue, 7 Nov 2017 21:39:13 -0800 Subject: [PATCH 02/19] Update REQUIRE file --- REQUIRE | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/REQUIRE b/REQUIRE index 959e07b..8656225 100644 --- a/REQUIRE +++ b/REQUIRE @@ -1,3 +1,2 @@ julia 0.5 -BinDeps -@osx Homebrew +BinaryProvider From 2e3f8b3ed1e1d4b264d20a423e551242a5dffa4a Mon Sep 17 00:00:00 2001 From: David Anthoff Date: Wed, 8 Nov 2017 15:41:13 -0800 Subject: [PATCH 03/19] Update hashes --- deps/build.jl | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/deps/build.jl b/deps/build.jl index 8e309ba..50924f6 100644 --- a/deps/build.jl +++ b/deps/build.jl @@ -10,14 +10,14 @@ const bin_prefix="https://github.com/davidanthoff/SnappyBuilder/releases/downloa # TODO Update hash values, only the Windows x64 hash is correct right now const download_info = Dict( - Linux(:i686) => ("$bin_prefix/SnappyBuilder.i686-linux-gnu.tar.gz", "1398353bcbbd88338189ece9c1d6e7c508df120bc4f93afbaed362a9f91358ff"), - Linux(:x86_64) => ("$bin_prefix/SnappyBuilder.x86_64-linux-gnu.tar.gz", "b9d57a6e032a56b1f8641771fa707523caa72f1a2e322ab99eeeb011f13ad9f3"), - Linux(:aarch64) => ("$bin_prefix/SnappyBuilder.aarch64-linux-gnu.tar.gz", "19d9da0e6e7fb506bf4889eb91e936fda43493a39cd4fd7bd5d65506cede6f95"), - Linux(:armv7l) => ("$bin_prefix/SnappyBuilder.arm-linux-gnueabihf.tar.gz", "8e33c1a0e091e6e5b8fcb902e5d45329791bb57763ee9cbcde49c1ec9bd8532a"), - Linux(:ppc64le) => ("$bin_prefix/SnappyBuilder.powerpc64le-linux-gnu.tar.gz", "b48a64d48be994ec99b1a9fb60e0af7f4415a57596518cb90a340987b79fad81"), - MacOS() => ("$bin_prefix/SnappyBuilder.x86_64-apple-darwin14.tar.gz", "661b71edb433ab334b0fef70db3b5c45d35f2b3bee0d244f54875f1ec899c10f"), - Windows(:i686) => ("$bin_prefix/SnappyBuilder.i686-w64-mingw32.tar.gz", "3d4a8d4bf0169007a42d809a1d560083635b1540a1bc4a42108841dcb6d2aaea"), - Windows(:x86_64) => ("$bin_prefix/SnappyBuilder.x86_64-w64-mingw32.tar.gz", "f38bdb78a654d67d9571d74e16efef3ad2ab849aa95f4fdfb75b5596adfdd2aa"), + Linux(:i686) => ("$bin_prefix/SnappyBuilder.i686-linux-gnu.tar.gz", "cd2b3256bfdfc251494cf092936506f437c92d5b467f7770c4235ed3e639914d"), + Linux(:x86_64) => ("$bin_prefix/SnappyBuilder.x86_64-linux-gnu.tar.gz", "63a6789ef9111c24468caf43fa7738b38a901150fdf5025eb2e1b6264628a9d2"), + Linux(:aarch64) => ("$bin_prefix/SnappyBuilder.aarch64-linux-gnu.tar.gz", "b271ff745ae33134bb83e23c09f1acdceaa5c36f205767abdf66900cd0fb34b9"), + Linux(:armv7l) => ("$bin_prefix/SnappyBuilder.arm-linux-gnueabihf.tar.gz", "bcae64587236daa1ac2b8c801faf85869edbb4047dd95fc3163f56d44016d007"), + Linux(:ppc64le) => ("$bin_prefix/SnappyBuilder.powerpc64le-linux-gnu.tar.gz", "c3efc79dcd51de5a5ffb6210dc257bf77f45240516c310f149ff4387385d624b"), + MacOS() => ("$bin_prefix/SnappyBuilder.x86_64-apple-darwin14.tar.gz", "4f15671d14a409e6a2140748419b91002e004554848d2bd01b6c6da74abdb9ab"), + Windows(:i686) => ("$bin_prefix/SnappyBuilder.i686-w64-mingw32.tar.gz", "1984eb5a04c78fbeae440fcd6ebe9f92d6c8c8facb7fff807ae7178dda61636b"), + Windows(:x86_64) => ("$bin_prefix/SnappyBuilder.x86_64-w64-mingw32.tar.gz", "50b1af335612b4c352b6dca17a425a7ab9265ddc773cc69757b6f4dadbdf0918"), ) if platform in keys(download_info) From 91cfc254ca197b22035ebb610d87364df5adc3a3 Mon Sep 17 00:00:00 2001 From: David Anthoff Date: Wed, 8 Nov 2017 15:41:25 -0800 Subject: [PATCH 04/19] Use BinaryProvider dynamic libraries --- src/Snappy.jl | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/Snappy.jl b/src/Snappy.jl index f5be108..f759ea9 100644 --- a/src/Snappy.jl +++ b/src/Snappy.jl @@ -2,11 +2,12 @@ __precompile__() module Snappy -if isfile(joinpath(dirname(dirname(@__FILE__)),"deps","deps.jl")) - include("../deps/deps.jl") -else - error("Snappy not properly installed. Please run Pkg.build(\"Snappy\")") +# Load libnettle from our deps.jl +const depsjl_path = joinpath(dirname(@__FILE__), "..", "deps", "deps.jl") +if !isfile(depsjl_path) + error("Nettle not installed properly, run Pkg.build(\"Nettle\"), restart Julia and try again") end +include(depsjl_path) export compress, uncompress @@ -15,6 +16,10 @@ const SnappyOK = Cint(0) const SnappyInvalidInput = Cint(1) const SnappyBufferTooSmall = Cint(2) +function __init__() + check_deps() +end + # High-level Interfaces function compress(input::Vector{UInt8}) From 621ae7e3dccc03806703a5ddeca55d6f1aafc6df Mon Sep 17 00:00:00 2001 From: David Anthoff Date: Wed, 8 Nov 2017 15:45:25 -0800 Subject: [PATCH 05/19] Get latest version of BinaryProvider in travis --- .travis.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index da11acf..33dca65 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,6 +10,7 @@ julia: notifications: email: false # uncomment the following lines to override the default test script -#script: -# - if [[ -a .git/shallow ]]; then git fetch --unshallow; fi -# - julia -e 'Pkg.clone(pwd()); Pkg.build("Accumulo"); Pkg.test("Accumulo"; coverage=true)' +script: + - if [[ -a .git/shallow ]]; then git fetch --unshallow; fi + - julia -e 'Pkg.add("BinaryProvider"); Pkg.checkout("BinaryProvider")' + - julia -e 'Pkg.clone(pwd()); Pkg.build("Accumulo"); Pkg.test("Accumulo"; coverage=true)' From 46a46d12f7447498b87b9a6d2357c62e8c448e19 Mon Sep 17 00:00:00 2001 From: David Anthoff Date: Wed, 8 Nov 2017 20:12:30 -0800 Subject: [PATCH 06/19] Fix typos --- src/Snappy.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Snappy.jl b/src/Snappy.jl index f759ea9..2be5762 100644 --- a/src/Snappy.jl +++ b/src/Snappy.jl @@ -2,10 +2,10 @@ __precompile__() module Snappy -# Load libnettle from our deps.jl +# Load libsnappy from our deps.jl const depsjl_path = joinpath(dirname(@__FILE__), "..", "deps", "deps.jl") if !isfile(depsjl_path) - error("Nettle not installed properly, run Pkg.build(\"Nettle\"), restart Julia and try again") + error("Snappy not installed properly, run Pkg.build(\"Snappy\"), restart Julia and try again") end include(depsjl_path) From 9c719ebf199f3e9744bc4aa05ba07eb1d0fdae7c Mon Sep 17 00:00:00 2001 From: David Anthoff Date: Thu, 9 Nov 2017 09:32:19 -0800 Subject: [PATCH 07/19] Update hashes --- deps/build.jl | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/deps/build.jl b/deps/build.jl index 50924f6..a5f918f 100644 --- a/deps/build.jl +++ b/deps/build.jl @@ -10,14 +10,14 @@ const bin_prefix="https://github.com/davidanthoff/SnappyBuilder/releases/downloa # TODO Update hash values, only the Windows x64 hash is correct right now const download_info = Dict( - Linux(:i686) => ("$bin_prefix/SnappyBuilder.i686-linux-gnu.tar.gz", "cd2b3256bfdfc251494cf092936506f437c92d5b467f7770c4235ed3e639914d"), - Linux(:x86_64) => ("$bin_prefix/SnappyBuilder.x86_64-linux-gnu.tar.gz", "63a6789ef9111c24468caf43fa7738b38a901150fdf5025eb2e1b6264628a9d2"), - Linux(:aarch64) => ("$bin_prefix/SnappyBuilder.aarch64-linux-gnu.tar.gz", "b271ff745ae33134bb83e23c09f1acdceaa5c36f205767abdf66900cd0fb34b9"), - Linux(:armv7l) => ("$bin_prefix/SnappyBuilder.arm-linux-gnueabihf.tar.gz", "bcae64587236daa1ac2b8c801faf85869edbb4047dd95fc3163f56d44016d007"), - Linux(:ppc64le) => ("$bin_prefix/SnappyBuilder.powerpc64le-linux-gnu.tar.gz", "c3efc79dcd51de5a5ffb6210dc257bf77f45240516c310f149ff4387385d624b"), - MacOS() => ("$bin_prefix/SnappyBuilder.x86_64-apple-darwin14.tar.gz", "4f15671d14a409e6a2140748419b91002e004554848d2bd01b6c6da74abdb9ab"), - Windows(:i686) => ("$bin_prefix/SnappyBuilder.i686-w64-mingw32.tar.gz", "1984eb5a04c78fbeae440fcd6ebe9f92d6c8c8facb7fff807ae7178dda61636b"), - Windows(:x86_64) => ("$bin_prefix/SnappyBuilder.x86_64-w64-mingw32.tar.gz", "50b1af335612b4c352b6dca17a425a7ab9265ddc773cc69757b6f4dadbdf0918"), + Linux(:i686) => ("$bin_prefix/SnappyBuilder.i686-linux-gnu.tar.gz", "0a339c2ab55aed43e75d30d54a2b8dde89f910d065829cdc80fdbf294c9d2ac3"), + Linux(:x86_64) => ("$bin_prefix/SnappyBuilder.x86_64-linux-gnu.tar.gz", "55f89f8fd259ceed5e85a17cc0c71e90e0131086df006a0cd01e7b690c929943"), + Linux(:aarch64) => ("$bin_prefix/SnappyBuilder.aarch64-linux-gnu.tar.gz", "bad1485645a41d2b2648925ebd31ca5c6b930945098309612c61f7cac46d6c34"), + Linux(:armv7l) => ("$bin_prefix/SnappyBuilder.arm-linux-gnueabihf.tar.gz", "4de9544e7fa80158d245823e5f9acd4193dd7ae12d89452c8095c30c91a2b91c"), + Linux(:ppc64le) => ("$bin_prefix/SnappyBuilder.powerpc64le-linux-gnu.tar.gz", "0cedec5c673172dc0626bc04c7b7bc76fa056c5527fe9157e57265255820ce19"), + MacOS() => ("$bin_prefix/SnappyBuilder.x86_64-apple-darwin14.tar.gz", "96ced92b58c6ebd34d43404d78b9ac1edd2046ee27ae5c636ceed8fbb7a76114"), + Windows(:i686) => ("$bin_prefix/SnappyBuilder.i686-w64-mingw32.tar.gz", "34c95dcfcdc95b3ca80968dec2d8ebaf0b15a6864bb006acafc2973ad8ded946"), + Windows(:x86_64) => ("$bin_prefix/SnappyBuilder.x86_64-w64-mingw32.tar.gz", "bad19b215f411bd2068c39317512f0c750779261f32e47681e56ac6056404c6d"), ) if platform in keys(download_info) From 10bd50399a96c61e4059871f9529b47fd7a3f9dd Mon Sep 17 00:00:00 2001 From: David Anthoff Date: Thu, 9 Nov 2017 09:34:52 -0800 Subject: [PATCH 08/19] Remove julia 0.5 support --- .travis.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 33dca65..ac1f6b3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,7 +4,6 @@ os: - linux - osx julia: - - 0.5 - 0.6 - nightly notifications: From 668914451cf5b0985cc2da24d1867f9cf2149c69 Mon Sep 17 00:00:00 2001 From: David Anthoff Date: Thu, 9 Nov 2017 09:35:39 -0800 Subject: [PATCH 09/19] Fix travis --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index ac1f6b3..8037350 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,4 +12,4 @@ notifications: script: - if [[ -a .git/shallow ]]; then git fetch --unshallow; fi - julia -e 'Pkg.add("BinaryProvider"); Pkg.checkout("BinaryProvider")' - - julia -e 'Pkg.clone(pwd()); Pkg.build("Accumulo"); Pkg.test("Accumulo"; coverage=true)' + - julia -e 'Pkg.clone(pwd()); Pkg.build("Snappy"); Pkg.test("Snappy"; coverage=true)' From a04f881f31762ee6ff757ddce2a43763541ffc95 Mon Sep 17 00:00:00 2001 From: David Anthoff Date: Sat, 11 Nov 2017 09:21:23 -0800 Subject: [PATCH 10/19] Update hash values --- deps/build.jl | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/deps/build.jl b/deps/build.jl index a5f918f..96f46cd 100644 --- a/deps/build.jl +++ b/deps/build.jl @@ -10,14 +10,14 @@ const bin_prefix="https://github.com/davidanthoff/SnappyBuilder/releases/downloa # TODO Update hash values, only the Windows x64 hash is correct right now const download_info = Dict( - Linux(:i686) => ("$bin_prefix/SnappyBuilder.i686-linux-gnu.tar.gz", "0a339c2ab55aed43e75d30d54a2b8dde89f910d065829cdc80fdbf294c9d2ac3"), - Linux(:x86_64) => ("$bin_prefix/SnappyBuilder.x86_64-linux-gnu.tar.gz", "55f89f8fd259ceed5e85a17cc0c71e90e0131086df006a0cd01e7b690c929943"), - Linux(:aarch64) => ("$bin_prefix/SnappyBuilder.aarch64-linux-gnu.tar.gz", "bad1485645a41d2b2648925ebd31ca5c6b930945098309612c61f7cac46d6c34"), - Linux(:armv7l) => ("$bin_prefix/SnappyBuilder.arm-linux-gnueabihf.tar.gz", "4de9544e7fa80158d245823e5f9acd4193dd7ae12d89452c8095c30c91a2b91c"), - Linux(:ppc64le) => ("$bin_prefix/SnappyBuilder.powerpc64le-linux-gnu.tar.gz", "0cedec5c673172dc0626bc04c7b7bc76fa056c5527fe9157e57265255820ce19"), - MacOS() => ("$bin_prefix/SnappyBuilder.x86_64-apple-darwin14.tar.gz", "96ced92b58c6ebd34d43404d78b9ac1edd2046ee27ae5c636ceed8fbb7a76114"), - Windows(:i686) => ("$bin_prefix/SnappyBuilder.i686-w64-mingw32.tar.gz", "34c95dcfcdc95b3ca80968dec2d8ebaf0b15a6864bb006acafc2973ad8ded946"), - Windows(:x86_64) => ("$bin_prefix/SnappyBuilder.x86_64-w64-mingw32.tar.gz", "bad19b215f411bd2068c39317512f0c750779261f32e47681e56ac6056404c6d"), + Linux(:i686) => ("$bin_prefix/SnappyBuilder.i686-linux-gnu.tar.gz", "48eb2a4582549fa9fedc994cee8de6d4f0e4463c0e135075c32c470fc241367c"), + Linux(:x86_64) => ("$bin_prefix/SnappyBuilder.x86_64-linux-gnu.tar.gz", "c5648bf09dc7adaf701630d7eb85f88bec6d704f7e00522727ac995a24736e38"), + Linux(:aarch64) => ("$bin_prefix/SnappyBuilder.aarch64-linux-gnu.tar.gz", "c132f0f4319490f19df2961da0ac7a3bd3e7b81d29ad484dcb73eff773743fc4"), + Linux(:armv7l) => ("$bin_prefix/SnappyBuilder.arm-linux-gnueabihf.tar.gz", "5370bcddd5aee7da59e477cd55c09a299577bc16cbf21afdab4055a13cf9176b"), + Linux(:ppc64le) => ("$bin_prefix/SnappyBuilder.powerpc64le-linux-gnu.tar.gz", "4d756e61b474620251cc3d8404ada5e2d15d610e4b32b434ff73891680d572f8"), + MacOS() => ("$bin_prefix/SnappyBuilder.x86_64-apple-darwin14.tar.gz", "5e64beef888703b8abf4fe33ad4af8e25b001d9c4749c3c81359e22e81f79b5b"), + Windows(:i686) => ("$bin_prefix/SnappyBuilder.i686-w64-mingw32.tar.gz", "d1bc773ab110a2957d476bd66179ed496a7b0b883481d3bca3d927bc5a35664e"), + Windows(:x86_64) => ("$bin_prefix/SnappyBuilder.x86_64-w64-mingw32.tar.gz", "5150ced35369ad8a879249a5c211824f5f1994bc81e433607d39ab3f786d974c"), ) if platform in keys(download_info) From 735a9e02c858b0e3fbc6bc217ad238d14f609ae9 Mon Sep 17 00:00:00 2001 From: David Anthoff Date: Sun, 19 Nov 2017 16:41:27 -0800 Subject: [PATCH 11/19] Update hashes --- deps/build.jl | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/deps/build.jl b/deps/build.jl index 96f46cd..f62f80d 100644 --- a/deps/build.jl +++ b/deps/build.jl @@ -10,14 +10,14 @@ const bin_prefix="https://github.com/davidanthoff/SnappyBuilder/releases/downloa # TODO Update hash values, only the Windows x64 hash is correct right now const download_info = Dict( - Linux(:i686) => ("$bin_prefix/SnappyBuilder.i686-linux-gnu.tar.gz", "48eb2a4582549fa9fedc994cee8de6d4f0e4463c0e135075c32c470fc241367c"), - Linux(:x86_64) => ("$bin_prefix/SnappyBuilder.x86_64-linux-gnu.tar.gz", "c5648bf09dc7adaf701630d7eb85f88bec6d704f7e00522727ac995a24736e38"), - Linux(:aarch64) => ("$bin_prefix/SnappyBuilder.aarch64-linux-gnu.tar.gz", "c132f0f4319490f19df2961da0ac7a3bd3e7b81d29ad484dcb73eff773743fc4"), - Linux(:armv7l) => ("$bin_prefix/SnappyBuilder.arm-linux-gnueabihf.tar.gz", "5370bcddd5aee7da59e477cd55c09a299577bc16cbf21afdab4055a13cf9176b"), - Linux(:ppc64le) => ("$bin_prefix/SnappyBuilder.powerpc64le-linux-gnu.tar.gz", "4d756e61b474620251cc3d8404ada5e2d15d610e4b32b434ff73891680d572f8"), - MacOS() => ("$bin_prefix/SnappyBuilder.x86_64-apple-darwin14.tar.gz", "5e64beef888703b8abf4fe33ad4af8e25b001d9c4749c3c81359e22e81f79b5b"), - Windows(:i686) => ("$bin_prefix/SnappyBuilder.i686-w64-mingw32.tar.gz", "d1bc773ab110a2957d476bd66179ed496a7b0b883481d3bca3d927bc5a35664e"), - Windows(:x86_64) => ("$bin_prefix/SnappyBuilder.x86_64-w64-mingw32.tar.gz", "5150ced35369ad8a879249a5c211824f5f1994bc81e433607d39ab3f786d974c"), + Linux(:i686) => ("$bin_prefix/SnappyBuilder.i686-linux-gnu.tar.gz", "f7507f06762dea5d4007ae2a0fb672093e1a6007cd16de6cdfe745c6474bc95b"), + Linux(:x86_64) => ("$bin_prefix/SnappyBuilder.x86_64-linux-gnu.tar.gz", "767497ed970b00562e79359397f76d7bfbdb8fe7b730c0cfcdd36e686ec5d2fc"), + Linux(:aarch64) => ("$bin_prefix/SnappyBuilder.aarch64-linux-gnu.tar.gz", "974867ab140f92fd3dca72935153d7759e46708f6492216376fff46024b32458"), + Linux(:armv7l) => ("$bin_prefix/SnappyBuilder.arm-linux-gnueabihf.tar.gz", "f7325872f982a71c3f7bc4df324b121f3b4ceeeeaf9129c02e040dc2e7a0e0d2"), + Linux(:ppc64le) => ("$bin_prefix/SnappyBuilder.powerpc64le-linux-gnu.tar.gz", "59a1d81f862abd61b41ae9a4e6aad9d8da8bc8f14483575120e635b43d5f0201"), + MacOS() => ("$bin_prefix/SnappyBuilder.x86_64-apple-darwin14.tar.gz", "9d33952c433d4ac2f0ab17d7fc69db38651e751e67c6d6e6b2424409bdbf7388"), + Windows(:i686) => ("$bin_prefix/SnappyBuilder.i686-w64-mingw32.tar.gz", "d587f8979b42ea6f6baa602e58e4796744208d242676a28099efd35038a51c8e"), + Windows(:x86_64) => ("$bin_prefix/SnappyBuilder.x86_64-w64-mingw32.tar.gz", "e80de0cf571fadc8592a7ed9973ca89fe5efbe07a099513b125ae765e8a5c3f8"), ) if platform in keys(download_info) From cf7a2745432481c30b358abc1b0e7efc97308a9f Mon Sep 17 00:00:00 2001 From: David Anthoff Date: Tue, 21 Nov 2017 08:12:38 -0800 Subject: [PATCH 12/19] Update hashes --- deps/build.jl | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/deps/build.jl b/deps/build.jl index f62f80d..bd4d896 100644 --- a/deps/build.jl +++ b/deps/build.jl @@ -10,14 +10,14 @@ const bin_prefix="https://github.com/davidanthoff/SnappyBuilder/releases/downloa # TODO Update hash values, only the Windows x64 hash is correct right now const download_info = Dict( - Linux(:i686) => ("$bin_prefix/SnappyBuilder.i686-linux-gnu.tar.gz", "f7507f06762dea5d4007ae2a0fb672093e1a6007cd16de6cdfe745c6474bc95b"), - Linux(:x86_64) => ("$bin_prefix/SnappyBuilder.x86_64-linux-gnu.tar.gz", "767497ed970b00562e79359397f76d7bfbdb8fe7b730c0cfcdd36e686ec5d2fc"), - Linux(:aarch64) => ("$bin_prefix/SnappyBuilder.aarch64-linux-gnu.tar.gz", "974867ab140f92fd3dca72935153d7759e46708f6492216376fff46024b32458"), - Linux(:armv7l) => ("$bin_prefix/SnappyBuilder.arm-linux-gnueabihf.tar.gz", "f7325872f982a71c3f7bc4df324b121f3b4ceeeeaf9129c02e040dc2e7a0e0d2"), - Linux(:ppc64le) => ("$bin_prefix/SnappyBuilder.powerpc64le-linux-gnu.tar.gz", "59a1d81f862abd61b41ae9a4e6aad9d8da8bc8f14483575120e635b43d5f0201"), - MacOS() => ("$bin_prefix/SnappyBuilder.x86_64-apple-darwin14.tar.gz", "9d33952c433d4ac2f0ab17d7fc69db38651e751e67c6d6e6b2424409bdbf7388"), - Windows(:i686) => ("$bin_prefix/SnappyBuilder.i686-w64-mingw32.tar.gz", "d587f8979b42ea6f6baa602e58e4796744208d242676a28099efd35038a51c8e"), - Windows(:x86_64) => ("$bin_prefix/SnappyBuilder.x86_64-w64-mingw32.tar.gz", "e80de0cf571fadc8592a7ed9973ca89fe5efbe07a099513b125ae765e8a5c3f8"), + Linux(:i686) => ("$bin_prefix/SnappyBuilder.i686-linux-gnu.tar.gz", "e3b13b4b686157ff687a3c0685b77ceeb105e6f8666181b57aebbd775d21c0cf"), + Linux(:x86_64) => ("$bin_prefix/SnappyBuilder.x86_64-linux-gnu.tar.gz", "727b343115760caff69cdcd10f8fbf63d4abd452b923e712553fb795ca4067ed"), + Linux(:aarch64) => ("$bin_prefix/SnappyBuilder.aarch64-linux-gnu.tar.gz", "a05ac433b8ab84126017354e489cf3f4fd77dbfa4a2b328ad383c833098de3ef"), + Linux(:armv7l) => ("$bin_prefix/SnappyBuilder.arm-linux-gnueabihf.tar.gz", "a22e0c2a7da49b3ed74d72946f89a7c5e69fc103d2e2ac7eae204b9d4ead158d"), + Linux(:ppc64le) => ("$bin_prefix/SnappyBuilder.powerpc64le-linux-gnu.tar.gz", "d54a56fbc29b4f3e46f786b248f6de108fe24357e3701e0522503a397dd686ed"), + MacOS() => ("$bin_prefix/SnappyBuilder.x86_64-apple-darwin14.tar.gz", "2245ba24ef2653e1f174f75ce5e868e505a469304db7b30022b2cf7fe51e267f"), + Windows(:i686) => ("$bin_prefix/SnappyBuilder.i686-w64-mingw32.tar.gz", "5f766a018c77aa2136a9d3075027b257d1ab6c62cbcb4610bd8bc59085821b20"), + Windows(:x86_64) => ("$bin_prefix/SnappyBuilder.x86_64-w64-mingw32.tar.gz", "615685cc76e0c985acef96185c7d42637e70a8ef79099a1b99a6d275a177cf3d"), ) if platform in keys(download_info) From 93558adfc750d0d3879c4d88bd0ac3acf64e3d54 Mon Sep 17 00:00:00 2001 From: David Anthoff Date: Sun, 17 Dec 2017 13:51:36 -0800 Subject: [PATCH 13/19] Update build.jl --- deps/build.jl | 53 +++++++++++++++++++++++++++++---------------------- 1 file changed, 30 insertions(+), 23 deletions(-) diff --git a/deps/build.jl b/deps/build.jl index bd4d896..4e4c65e 100644 --- a/deps/build.jl +++ b/deps/build.jl @@ -1,33 +1,40 @@ using BinaryProvider -const prefix = Prefix(joinpath(@__DIR__,"usr")) - -const platform = platform_key() +# This is where all binaries will get installed +const prefix = Prefix(!isempty(ARGS) ? ARGS[1] : joinpath(@__DIR__,"usr")) libsnappy = LibraryProduct(prefix, "libsnappy") -const bin_prefix="https://github.com/davidanthoff/SnappyBuilder/releases/download/v1.1.7" - -# TODO Update hash values, only the Windows x64 hash is correct right now -const download_info = Dict( - Linux(:i686) => ("$bin_prefix/SnappyBuilder.i686-linux-gnu.tar.gz", "e3b13b4b686157ff687a3c0685b77ceeb105e6f8666181b57aebbd775d21c0cf"), - Linux(:x86_64) => ("$bin_prefix/SnappyBuilder.x86_64-linux-gnu.tar.gz", "727b343115760caff69cdcd10f8fbf63d4abd452b923e712553fb795ca4067ed"), - Linux(:aarch64) => ("$bin_prefix/SnappyBuilder.aarch64-linux-gnu.tar.gz", "a05ac433b8ab84126017354e489cf3f4fd77dbfa4a2b328ad383c833098de3ef"), - Linux(:armv7l) => ("$bin_prefix/SnappyBuilder.arm-linux-gnueabihf.tar.gz", "a22e0c2a7da49b3ed74d72946f89a7c5e69fc103d2e2ac7eae204b9d4ead158d"), - Linux(:ppc64le) => ("$bin_prefix/SnappyBuilder.powerpc64le-linux-gnu.tar.gz", "d54a56fbc29b4f3e46f786b248f6de108fe24357e3701e0522503a397dd686ed"), - MacOS() => ("$bin_prefix/SnappyBuilder.x86_64-apple-darwin14.tar.gz", "2245ba24ef2653e1f174f75ce5e868e505a469304db7b30022b2cf7fe51e267f"), - Windows(:i686) => ("$bin_prefix/SnappyBuilder.i686-w64-mingw32.tar.gz", "5f766a018c77aa2136a9d3075027b257d1ab6c62cbcb4610bd8bc59085821b20"), - Windows(:x86_64) => ("$bin_prefix/SnappyBuilder.x86_64-w64-mingw32.tar.gz", "615685cc76e0c985acef96185c7d42637e70a8ef79099a1b99a6d275a177cf3d"), +# Assign products to `products`: +products = [libsnappy] + +# Download binaries from hosted location +bin_prefix = "https://github.com/davidanthoff/SnappyBuilder/releases/download/v1.1.7%2Bbuild.1" + +# Listing of files generated by BinaryBuilder: +download_info = Dict( + Linux(:aarch64) => ("$bin_prefix/SnappyBuilder.aarch64-linux-gnu.tar.gz", "8cb4b9af85da7efa20bc4787ea16af4b76123d790590bfd447cbe092f123f2f8"), + Linux(:armv7l) => ("$bin_prefix/SnappyBuilder.arm-linux-gnueabihf.tar.gz", "67469c1ce2391e65c3d9f5f8162f0e14f69ce0e19af0389ad8d77226bf79a922"), + Linux(:i686) => ("$bin_prefix/SnappyBuilder.i686-linux-gnu.tar.gz", "f34512ca97f500cdaeeea19aeb3e3075b3aa2b4342cf3a5a3788c77eb634f0bd"), + Windows(:i686) => ("$bin_prefix/SnappyBuilder.i686-w64-mingw32.tar.gz", "53a28428e5c3d75bef1b2ce90b8af8905177b7dae313c8a859afe24c7c9571dd"), + Linux(:powerpc64le) => ("$bin_prefix/SnappyBuilder.powerpc64le-linux-gnu.tar.gz", "32ecdd9185c2f39e2c95db9e8adb2adf8f251d65c0a8e43c0ee6ec46778045cb"), + MacOS() => ("$bin_prefix/SnappyBuilder.x86_64-apple-darwin14.tar.gz", "8fe643e462799ce141b4d306427f73b2a373651282cdfabcaeb976e705069b7c"), + Linux(:x86_64) => ("$bin_prefix/SnappyBuilder.x86_64-linux-gnu.tar.gz", "9a45685503de0db44068126d67f49e241f9013970ddc560cfd7ba17b411dac8c"), + Windows(:x86_64) => ("$bin_prefix/SnappyBuilder.x86_64-w64-mingw32.tar.gz", "1c13a31c23225b812ee477dffa1fc77d6f501c0a3b65a9920edf5aa4a76f4475"), ) -if platform in keys(download_info) - # Grab the url and tarball hash for this particular platform - url, tarball_hash = download_info[platform] - - install(url, tarball_hash; prefix=prefix, force=true, verbose=true) - - # Finaly, write out a deps file containing paths to libsnappy and fooifier +if platform_key() in keys(download_info) + # First, check to see if we're all satisfied + if any(!satisfied(p; verbose=true) for p in products) + # Download and install binaries + url, tarball_hash = download_info[platform_key()] + install(url, tarball_hash; prefix=prefix, force=true, verbose=true) + end + + # Finally, write out a deps.jl file that will contain mappings for each + # named product here: (there will be a "libfoo" variable and a "fooifier" + # variable, etc...) @write_deps_file libsnappy else - error("Your platform $(Sys.MACHINE) is not recognized, we cannot install libsnappy.") + error("Your platform $(Sys.MACHINE) is not supported by this package!") end From 5e5de352b8245bfadbd832f956d6a17197bb2f76 Mon Sep 17 00:00:00 2001 From: David Anthoff Date: Sun, 17 Dec 2017 14:47:58 -0800 Subject: [PATCH 14/19] Bump min julia version to 0.6 --- REQUIRE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/REQUIRE b/REQUIRE index 8656225..1a0732c 100644 --- a/REQUIRE +++ b/REQUIRE @@ -1,2 +1,2 @@ -julia 0.5 +julia 0.6 BinaryProvider From f6fc178d85c7bde8c21022702c3501bea9476b21 Mon Sep 17 00:00:00 2001 From: David Anthoff Date: Sun, 17 Dec 2017 14:48:07 -0800 Subject: [PATCH 15/19] Use default travis script --- .travis.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 8037350..98ab748 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,7 +9,7 @@ julia: notifications: email: false # uncomment the following lines to override the default test script -script: - - if [[ -a .git/shallow ]]; then git fetch --unshallow; fi - - julia -e 'Pkg.add("BinaryProvider"); Pkg.checkout("BinaryProvider")' - - julia -e 'Pkg.clone(pwd()); Pkg.build("Snappy"); Pkg.test("Snappy"; coverage=true)' +# script: +# - if [[ -a .git/shallow ]]; then git fetch --unshallow; fi +# - julia -e 'Pkg.add("BinaryProvider"); Pkg.checkout("BinaryProvider")' +# - julia -e 'Pkg.clone(pwd()); Pkg.build("Snappy"); Pkg.test("Snappy"; coverage=true)' From 23a667843a66ad4cc9cee26c71adca90255a7d97 Mon Sep 17 00:00:00 2001 From: David Anthoff Date: Sun, 17 Dec 2017 15:00:57 -0800 Subject: [PATCH 16/19] Add min bound on BinaryProvider --- REQUIRE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/REQUIRE b/REQUIRE index 1a0732c..31b1712 100644 --- a/REQUIRE +++ b/REQUIRE @@ -1,2 +1,2 @@ julia 0.6 -BinaryProvider +BinaryProvider 0.1.1 From 3d8dc6b31106b319d3787acb22ad6dbe5523cb20 Mon Sep 17 00:00:00 2001 From: David Anthoff Date: Sun, 17 Dec 2017 15:16:58 -0800 Subject: [PATCH 17/19] Allow failure of julia nightlz --- .travis.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.travis.yml b/.travis.yml index 98ab748..e4403e0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,6 +6,9 @@ os: julia: - 0.6 - nightly +matrix: + allow_failures: + - julia: nightly notifications: email: false # uncomment the following lines to override the default test script From 4b45362fb4f699bc46c0d72aa99fd44a791d0c57 Mon Sep 17 00:00:00 2001 From: David Anthoff Date: Sun, 17 Dec 2017 15:28:28 -0800 Subject: [PATCH 18/19] Remove unnecessary line from travis CI --- .travis.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index e4403e0..8ef39c6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,5 +14,4 @@ notifications: # uncomment the following lines to override the default test script # script: # - if [[ -a .git/shallow ]]; then git fetch --unshallow; fi -# - julia -e 'Pkg.add("BinaryProvider"); Pkg.checkout("BinaryProvider")' # - julia -e 'Pkg.clone(pwd()); Pkg.build("Snappy"); Pkg.test("Snappy"; coverage=true)' From fbe944994cd34f3ed1631073863b5a1dc3957a66 Mon Sep 17 00:00:00 2001 From: David Anthoff Date: Sun, 17 Dec 2017 15:28:38 -0800 Subject: [PATCH 19/19] Add allow failure to appveyor --- appveyor.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/appveyor.yml b/appveyor.yml index 298c16a..6704798 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -10,6 +10,11 @@ branches: - master - /release-.*/ +matrix: + allow_failures: + - JULIA_URL: "https://julialangnightlies-s3.julialang.org/bin/winnt/x86/julia-latest-win32.exe" + - JULIA_URL: "https://julialangnightlies-s3.julialang.org/bin/winnt/x64/julia-latest-win64.exe" + notifications: - provider: Email on_build_success: false