From f632fd23b36bce531bf6f372721e1284729c1367 Mon Sep 17 00:00:00 2001 From: jlbuild Date: Thu, 7 May 2020 19:43:09 +0000 Subject: [PATCH] x264_jll build 2019.5.25+2 --- Artifacts.toml | 124 +++++++++--------- LICENSE.md | 7 + Project.toml | 2 +- README.md | 23 +++- src/wrappers/aarch64-linux-gnu.jl | 6 +- src/wrappers/aarch64-linux-musl.jl | 6 +- ...gnueabihf.jl => armv7l-linux-gnueabihf.jl} | 8 +- ...sleabihf.jl => armv7l-linux-musleabihf.jl} | 8 +- src/wrappers/i686-linux-gnu.jl | 6 +- src/wrappers/i686-linux-musl.jl | 6 +- src/wrappers/i686-w64-mingw32.jl | 8 +- src/wrappers/powerpc64le-linux-gnu.jl | 6 +- src/wrappers/x86_64-apple-darwin14.jl | 6 +- src/wrappers/x86_64-linux-gnu.jl | 6 +- src/wrappers/x86_64-linux-musl.jl | 6 +- src/wrappers/x86_64-unknown-freebsd11.1.jl | 6 +- src/wrappers/x86_64-w64-mingw32.jl | 8 +- src/x264_jll.jl | 9 +- 18 files changed, 150 insertions(+), 101 deletions(-) create mode 100644 LICENSE.md rename src/wrappers/{arm-linux-gnueabihf.jl => armv7l-linux-gnueabihf.jl} (90%) rename src/wrappers/{arm-linux-musleabihf.jl => armv7l-linux-musleabihf.jl} (90%) diff --git a/Artifacts.toml b/Artifacts.toml index 49738ff..9ffc854 100644 --- a/Artifacts.toml +++ b/Artifacts.toml @@ -1,113 +1,113 @@ [[x264]] -arch = "armv7l" -git-tree-sha1 = "e4b881fcddde53ddbd411201bb3655d006855f61" -libc = "glibc" -os = "linux" - - [[x264.download]] - sha256 = "d87b6b5ed7d2d9c28ad67056b32d0fa5fbc6fb56cf286715896d570278dd8cb8" - url = "https://github.com/JuliaBinaryWrappers/x264_jll.jl/releases/download/x264-v2019.5.25+1/x264.v2019.5.25.arm-linux-gnueabihf.tar.gz" -[[x264]] -arch = "x86_64" -git-tree-sha1 = "d7bf53382457f0b77586bb3eb1b5c4258608b321" -libc = "glibc" +arch = "i686" +git-tree-sha1 = "fa8b949c3a34c2c3916899f7f03584dd97b743eb" +libc = "musl" os = "linux" [[x264.download]] - sha256 = "e6e2a1dc4812ce5ccdb3373b886fdc5e50a835156797fdb7520fe06d892473a5" - url = "https://github.com/JuliaBinaryWrappers/x264_jll.jl/releases/download/x264-v2019.5.25+1/x264.v2019.5.25.x86_64-linux-gnu.tar.gz" + sha256 = "f880a28c992b31d5dd64018b528c2a870ea9db74fd4f2432021002d9808102bf" + url = "https://github.com/JuliaBinaryWrappers/x264_jll.jl/releases/download/x264-v2019.5.25+2/x264.v2019.5.25.i686-linux-musl.tar.gz" [[x264]] arch = "aarch64" -git-tree-sha1 = "458a3695110d9ebe7f7104fc324552c0eafa314e" +git-tree-sha1 = "c608817ba70be1d0171a423c01227addbca2db7e" libc = "musl" os = "linux" [[x264.download]] - sha256 = "c33488e473f446e78bfc7e04b50a698043c6c957b1e07475cbee6214b21bb3ec" - url = "https://github.com/JuliaBinaryWrappers/x264_jll.jl/releases/download/x264-v2019.5.25+1/x264.v2019.5.25.aarch64-linux-musl.tar.gz" + sha256 = "307277f0a50ce2feecdc71018235d19b86f02e56f25f8138403303c499dde16f" + url = "https://github.com/JuliaBinaryWrappers/x264_jll.jl/releases/download/x264-v2019.5.25+2/x264.v2019.5.25.aarch64-linux-musl.tar.gz" [[x264]] -arch = "powerpc64le" -git-tree-sha1 = "2b97707eef1eb58ad6a582669bcd3894c4ba3e5e" -libc = "glibc" -os = "linux" +arch = "i686" +git-tree-sha1 = "ff617772473cac0173bb8e436b151a56528de3a8" +os = "windows" [[x264.download]] - sha256 = "dad1278c18e3ed7bf915c75b2f8db501ee5dfe561c277abd33c915c0b86adc95" - url = "https://github.com/JuliaBinaryWrappers/x264_jll.jl/releases/download/x264-v2019.5.25+1/x264.v2019.5.25.powerpc64le-linux-gnu.tar.gz" + sha256 = "41bdd4c01b48e23b2e735fbf0d46552d0c1e64375255290a683963cd8e9e7a1d" + url = "https://github.com/JuliaBinaryWrappers/x264_jll.jl/releases/download/x264-v2019.5.25+2/x264.v2019.5.25.i686-w64-mingw32.tar.gz" [[x264]] arch = "x86_64" -git-tree-sha1 = "c43135b595d2cbae272660b6dfbedf7c58a00632" -os = "macos" +git-tree-sha1 = "3f4c4d088cb7edebdf769afe261b3ca77d56e0b4" +os = "windows" [[x264.download]] - sha256 = "ec5cbf168bf81c9323921d85dc4f86c3d22753f79904d5d442558856ff8b3830" - url = "https://github.com/JuliaBinaryWrappers/x264_jll.jl/releases/download/x264-v2019.5.25+1/x264.v2019.5.25.x86_64-apple-darwin14.tar.gz" + sha256 = "84b9aef7e2f1e0ede862a82778de58357aabcbf2bef6ba73715f13b065f7ac66" + url = "https://github.com/JuliaBinaryWrappers/x264_jll.jl/releases/download/x264-v2019.5.25+2/x264.v2019.5.25.x86_64-w64-mingw32.tar.gz" [[x264]] -arch = "x86_64" -git-tree-sha1 = "9dc2aa506932941639d835c9d6c7ec0881da3719" -libc = "musl" +arch = "armv7l" +git-tree-sha1 = "0dac92ab517f0b559ce128c7c390b86511edf63d" +libc = "glibc" os = "linux" [[x264.download]] - sha256 = "d9171351ef8bf3dbd39a1e8a6a91118aef3e1b62e7ee13ec4cf5557b7a85cf41" - url = "https://github.com/JuliaBinaryWrappers/x264_jll.jl/releases/download/x264-v2019.5.25+1/x264.v2019.5.25.x86_64-linux-musl.tar.gz" + sha256 = "52ef563c8e434ff492f391844052a0a52ae60b3b4f4ec8f0db619eb683bfaad6" + url = "https://github.com/JuliaBinaryWrappers/x264_jll.jl/releases/download/x264-v2019.5.25+2/x264.v2019.5.25.armv7l-linux-gnueabihf.tar.gz" [[x264]] -arch = "x86_64" -git-tree-sha1 = "a01cc61d7057598dd892491c1707fdfd3fe35cf7" -os = "windows" +arch = "armv7l" +git-tree-sha1 = "c95ef1b048493360ca668d0be446ef0b5c7d15fc" +libc = "musl" +os = "linux" [[x264.download]] - sha256 = "3b2a4755341b736e660648654766c763926c9d0e90fa13b881becd0866625698" - url = "https://github.com/JuliaBinaryWrappers/x264_jll.jl/releases/download/x264-v2019.5.25+1/x264.v2019.5.25.x86_64-w64-mingw32.tar.gz" + sha256 = "30229c289b285771771030ff13f675f1361baad70cb8b3cfd5ee56a1466c44f3" + url = "https://github.com/JuliaBinaryWrappers/x264_jll.jl/releases/download/x264-v2019.5.25+2/x264.v2019.5.25.armv7l-linux-musleabihf.tar.gz" [[x264]] arch = "i686" -git-tree-sha1 = "8fabc8f7995603f9a28f1a737a58e677af5d78c2" +git-tree-sha1 = "e303a1f8629f4a3603ad22ac0f40559a61d52307" libc = "glibc" os = "linux" [[x264.download]] - sha256 = "74210f46e80e2d4c30bea3ac68b3438a783cc01c709a6a60fdaf452921530b73" - url = "https://github.com/JuliaBinaryWrappers/x264_jll.jl/releases/download/x264-v2019.5.25+1/x264.v2019.5.25.i686-linux-gnu.tar.gz" + sha256 = "f89761f91f82ce6d26c938d1cf859d5bb85ee77119bc2e831da4b3abbb989dfc" + url = "https://github.com/JuliaBinaryWrappers/x264_jll.jl/releases/download/x264-v2019.5.25+2/x264.v2019.5.25.i686-linux-gnu.tar.gz" [[x264]] -arch = "aarch64" -git-tree-sha1 = "21a7a0ddc773c8d416f8187fa36d407e72a1409c" +arch = "x86_64" +git-tree-sha1 = "0837b9400775fdcbb9ae11f1a4d393925d1ddc91" libc = "glibc" os = "linux" [[x264.download]] - sha256 = "57d5b21631fac672a46d7bc6025a8b61e6cb733566105da9b61e2460be31da22" - url = "https://github.com/JuliaBinaryWrappers/x264_jll.jl/releases/download/x264-v2019.5.25+1/x264.v2019.5.25.aarch64-linux-gnu.tar.gz" + sha256 = "45cdf1d24e397efedf8e4da8eb20e41ad47031aba0e30dcfdd1bee2819c9a0fc" + url = "https://github.com/JuliaBinaryWrappers/x264_jll.jl/releases/download/x264-v2019.5.25+2/x264.v2019.5.25.x86_64-linux-gnu.tar.gz" [[x264]] -arch = "i686" -git-tree-sha1 = "f0ecd73ca87a312f554eac41245f8780e1eec914" -libc = "musl" +arch = "powerpc64le" +git-tree-sha1 = "c52bb4d3909021d588c62876142be7d296352544" +libc = "glibc" os = "linux" [[x264.download]] - sha256 = "e53f2681f8ba60643c837eec674205edc189decac22383425db4246b33257fad" - url = "https://github.com/JuliaBinaryWrappers/x264_jll.jl/releases/download/x264-v2019.5.25+1/x264.v2019.5.25.i686-linux-musl.tar.gz" + sha256 = "673520d10c66b694166522902c68557adf3b01410755df760755a2f9344fd4bd" + url = "https://github.com/JuliaBinaryWrappers/x264_jll.jl/releases/download/x264-v2019.5.25+2/x264.v2019.5.25.powerpc64le-linux-gnu.tar.gz" [[x264]] arch = "x86_64" -git-tree-sha1 = "0b44d93293bf2d0976ad51c0c0e8c0a55b33bbb6" -os = "freebsd" +git-tree-sha1 = "98a8bafb73ec75070d808b170e6aedbfc2ccf474" +os = "macos" [[x264.download]] - sha256 = "756a17d85ce49de9af4d6ba3e5870f1ce203e4518cb2527dacd5e0ebeb2cbd0d" - url = "https://github.com/JuliaBinaryWrappers/x264_jll.jl/releases/download/x264-v2019.5.25+1/x264.v2019.5.25.x86_64-unknown-freebsd11.1.tar.gz" + sha256 = "4c66020a282ff0f9b8ba8e363350d99110e31e814dcbb47f3dc764af02193cd3" + url = "https://github.com/JuliaBinaryWrappers/x264_jll.jl/releases/download/x264-v2019.5.25+2/x264.v2019.5.25.x86_64-apple-darwin14.tar.gz" [[x264]] -arch = "i686" -git-tree-sha1 = "f1490c8bdf23359fd8f40b843dc8451c2dc3ba7d" -os = "windows" +arch = "aarch64" +git-tree-sha1 = "086c86fe972566ba808b8158ef0ecf4c650fa79c" +libc = "glibc" +os = "linux" [[x264.download]] - sha256 = "a494865d92fd60571754bc414814a11d3ce32fdcb541e2b2811c04e51001100d" - url = "https://github.com/JuliaBinaryWrappers/x264_jll.jl/releases/download/x264-v2019.5.25+1/x264.v2019.5.25.i686-w64-mingw32.tar.gz" + sha256 = "45f334d746835d73a643e587a187540531b8c3e6bf2724c0b73acee166916387" + url = "https://github.com/JuliaBinaryWrappers/x264_jll.jl/releases/download/x264-v2019.5.25+2/x264.v2019.5.25.aarch64-linux-gnu.tar.gz" [[x264]] -arch = "armv7l" -git-tree-sha1 = "fc0bf23b51953d532ddb91f706558b8a2abb4e06" +arch = "x86_64" +git-tree-sha1 = "680c2dc3d3d960f57683f03a579604a47f516b81" +os = "freebsd" + + [[x264.download]] + sha256 = "c1c69d9970c61f7b9e6d387761030a3d1bd6492fc77683fe0304f85e3690edba" + url = "https://github.com/JuliaBinaryWrappers/x264_jll.jl/releases/download/x264-v2019.5.25+2/x264.v2019.5.25.x86_64-unknown-freebsd11.1.tar.gz" +[[x264]] +arch = "x86_64" +git-tree-sha1 = "94837b8e6359f7bd3c3d3a2b51ee3ae3beb1ac31" libc = "musl" os = "linux" [[x264.download]] - sha256 = "2787c835a1cc7c9c7486038c9884f25d70c476e9e377c4f1fcb7848a313c2b6d" - url = "https://github.com/JuliaBinaryWrappers/x264_jll.jl/releases/download/x264-v2019.5.25+1/x264.v2019.5.25.arm-linux-musleabihf.tar.gz" + sha256 = "d33b459576a96564bda12136514e39bdf502b3690cb76668c1ec60428cba3006" + url = "https://github.com/JuliaBinaryWrappers/x264_jll.jl/releases/download/x264-v2019.5.25+2/x264.v2019.5.25.x86_64-linux-musl.tar.gz" diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..29d007a --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,7 @@ +Copyright 2020 + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/Project.toml b/Project.toml index 77a3706..6011000 100644 --- a/Project.toml +++ b/Project.toml @@ -1,6 +1,6 @@ name = "x264_jll" uuid = "1270edf5-f2f9-52d2-97e9-ab00b5d0237a" -version = "2019.5.25+1" +version = "2019.5.25+2" [deps] Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" diff --git a/README.md b/README.md index 3af80cd..232f978 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,22 @@ This is an autogenerated package constructed using [`BinaryBuilder.jl`](https://github.com/JuliaPackaging/BinaryBuilder.jl). -## Usage +For more details about JLL packages, see `BinaryBuilder.jl` [documentation](https://juliapackaging.github.io/BinaryBuilder.jl/dev/jll/). -The code bindings within this package are autogenerated from the `Products` defined within the `build_tarballs.jl` file that generated this package. For example purposes, we will assume that the following products were defined: +## Products + +The code bindings within this package are autogenerated from the following `Products` defined within the `build_tarballs.jl` file that generated this package: + +```julia +products = [ + LibraryProduct(["libx264"], :libx264), + ExecutableProduct(["x264"], :x264) +] +``` + +## Usage example + +For example purposes, we will assume that the following products were defined in the imaginary package `Example_jll`: ```julia products = [ @@ -14,10 +27,10 @@ products = [ ] ``` -With such products defined, this package will contain `data_txt`, `libdataproc` and `mungify_exe` symbols exported. For `FileProduct` variables, the exported value is a string pointing to the location of the file on-disk. For `LibraryProduct` variables, it is a string corresponding to the `SONAME` of the desired library (it will have already been `dlopen()`'ed, so typical `ccall()` usage applies), and for `ExecutableProduct` variables, the exported value is a function that can be called to set appropriate environment variables. Example: +With such products defined, `Example_jll` would contain `data_txt`, `libdataproc` and `mungify_exe` symbols exported. For `FileProduct` variables, the exported value is a string pointing to the location of the file on-disk. For `LibraryProduct` variables, it is a string corresponding to the `SONAME` of the desired library (it will have already been `dlopen()`'ed, so typical `ccall()` usage applies), and for `ExecutableProduct` variables, the exported value is a function that can be called to set appropriate environment variables. Example: ```julia -using x264_jll +using Example_jll # For file products, you can access its file location directly: data_lines = open(data_txt, "r") do io @@ -25,7 +38,7 @@ data_lines = open(data_txt, "r") do io end # For library products, you can use the exported variable name in `ccall()` invocations directly -num_chars = ccall((libdataproc, :count_characters), Cint, (Cstring, Cint), data_lines[1], length(data_lines[1])) +num_chars = ccall((:count_characters, libdataproc), Cint, (Cstring, Cint), data_lines[1], length(data_lines[1])) # For executable products, you can use the exported variable name as a function that you can call mungify_exe() do mungify_exe_path diff --git a/src/wrappers/aarch64-linux-gnu.jl b/src/wrappers/aarch64-linux-gnu.jl index 303225c..072cd15 100644 --- a/src/wrappers/aarch64-linux-gnu.jl +++ b/src/wrappers/aarch64-linux-gnu.jl @@ -5,6 +5,7 @@ export libx264, x264 PATH = "" LIBPATH = "" LIBPATH_env = "LD_LIBRARY_PATH" +LIBPATH_default = "" # Relative path to `libx264` const libx264_splitpath = ["lib", "libx264.so"] @@ -38,8 +39,9 @@ function x264(f::Function; adjust_PATH::Bool = true, adjust_LIBPATH::Bool = true end end if adjust_LIBPATH - if !isempty(get(ENV, LIBPATH_env, "")) - env_mapping[LIBPATH_env] = string(LIBPATH, ':', ENV[LIBPATH_env]) + LIBPATH_base = get(ENV, LIBPATH_env, expanduser(LIBPATH_default)) + if !isempty(LIBPATH_base) + env_mapping[LIBPATH_env] = string(LIBPATH, ':', LIBPATH_base) else env_mapping[LIBPATH_env] = LIBPATH end diff --git a/src/wrappers/aarch64-linux-musl.jl b/src/wrappers/aarch64-linux-musl.jl index 1f40eaa..5413289 100644 --- a/src/wrappers/aarch64-linux-musl.jl +++ b/src/wrappers/aarch64-linux-musl.jl @@ -5,6 +5,7 @@ export libx264, x264 PATH = "" LIBPATH = "" LIBPATH_env = "LD_LIBRARY_PATH" +LIBPATH_default = "" # Relative path to `libx264` const libx264_splitpath = ["lib", "libx264.so"] @@ -38,8 +39,9 @@ function x264(f::Function; adjust_PATH::Bool = true, adjust_LIBPATH::Bool = true end end if adjust_LIBPATH - if !isempty(get(ENV, LIBPATH_env, "")) - env_mapping[LIBPATH_env] = string(LIBPATH, ':', ENV[LIBPATH_env]) + LIBPATH_base = get(ENV, LIBPATH_env, expanduser(LIBPATH_default)) + if !isempty(LIBPATH_base) + env_mapping[LIBPATH_env] = string(LIBPATH, ':', LIBPATH_base) else env_mapping[LIBPATH_env] = LIBPATH end diff --git a/src/wrappers/arm-linux-gnueabihf.jl b/src/wrappers/armv7l-linux-gnueabihf.jl similarity index 90% rename from src/wrappers/arm-linux-gnueabihf.jl rename to src/wrappers/armv7l-linux-gnueabihf.jl index 0498080..44e0dfd 100644 --- a/src/wrappers/arm-linux-gnueabihf.jl +++ b/src/wrappers/armv7l-linux-gnueabihf.jl @@ -1,10 +1,11 @@ -# Autogenerated wrapper script for x264_jll for arm-linux-gnueabihf +# Autogenerated wrapper script for x264_jll for armv7l-linux-gnueabihf export libx264, x264 ## Global variables PATH = "" LIBPATH = "" LIBPATH_env = "LD_LIBRARY_PATH" +LIBPATH_default = "" # Relative path to `libx264` const libx264_splitpath = ["lib", "libx264.so"] @@ -38,8 +39,9 @@ function x264(f::Function; adjust_PATH::Bool = true, adjust_LIBPATH::Bool = true end end if adjust_LIBPATH - if !isempty(get(ENV, LIBPATH_env, "")) - env_mapping[LIBPATH_env] = string(LIBPATH, ':', ENV[LIBPATH_env]) + LIBPATH_base = get(ENV, LIBPATH_env, expanduser(LIBPATH_default)) + if !isempty(LIBPATH_base) + env_mapping[LIBPATH_env] = string(LIBPATH, ':', LIBPATH_base) else env_mapping[LIBPATH_env] = LIBPATH end diff --git a/src/wrappers/arm-linux-musleabihf.jl b/src/wrappers/armv7l-linux-musleabihf.jl similarity index 90% rename from src/wrappers/arm-linux-musleabihf.jl rename to src/wrappers/armv7l-linux-musleabihf.jl index 6d1462e..84d3016 100644 --- a/src/wrappers/arm-linux-musleabihf.jl +++ b/src/wrappers/armv7l-linux-musleabihf.jl @@ -1,10 +1,11 @@ -# Autogenerated wrapper script for x264_jll for arm-linux-musleabihf +# Autogenerated wrapper script for x264_jll for armv7l-linux-musleabihf export libx264, x264 ## Global variables PATH = "" LIBPATH = "" LIBPATH_env = "LD_LIBRARY_PATH" +LIBPATH_default = "" # Relative path to `libx264` const libx264_splitpath = ["lib", "libx264.so"] @@ -38,8 +39,9 @@ function x264(f::Function; adjust_PATH::Bool = true, adjust_LIBPATH::Bool = true end end if adjust_LIBPATH - if !isempty(get(ENV, LIBPATH_env, "")) - env_mapping[LIBPATH_env] = string(LIBPATH, ':', ENV[LIBPATH_env]) + LIBPATH_base = get(ENV, LIBPATH_env, expanduser(LIBPATH_default)) + if !isempty(LIBPATH_base) + env_mapping[LIBPATH_env] = string(LIBPATH, ':', LIBPATH_base) else env_mapping[LIBPATH_env] = LIBPATH end diff --git a/src/wrappers/i686-linux-gnu.jl b/src/wrappers/i686-linux-gnu.jl index bc317da..4063f42 100644 --- a/src/wrappers/i686-linux-gnu.jl +++ b/src/wrappers/i686-linux-gnu.jl @@ -5,6 +5,7 @@ export libx264, x264 PATH = "" LIBPATH = "" LIBPATH_env = "LD_LIBRARY_PATH" +LIBPATH_default = "" # Relative path to `libx264` const libx264_splitpath = ["lib", "libx264.so"] @@ -38,8 +39,9 @@ function x264(f::Function; adjust_PATH::Bool = true, adjust_LIBPATH::Bool = true end end if adjust_LIBPATH - if !isempty(get(ENV, LIBPATH_env, "")) - env_mapping[LIBPATH_env] = string(LIBPATH, ':', ENV[LIBPATH_env]) + LIBPATH_base = get(ENV, LIBPATH_env, expanduser(LIBPATH_default)) + if !isempty(LIBPATH_base) + env_mapping[LIBPATH_env] = string(LIBPATH, ':', LIBPATH_base) else env_mapping[LIBPATH_env] = LIBPATH end diff --git a/src/wrappers/i686-linux-musl.jl b/src/wrappers/i686-linux-musl.jl index 1bf4ae5..3a76150 100644 --- a/src/wrappers/i686-linux-musl.jl +++ b/src/wrappers/i686-linux-musl.jl @@ -5,6 +5,7 @@ export libx264, x264 PATH = "" LIBPATH = "" LIBPATH_env = "LD_LIBRARY_PATH" +LIBPATH_default = "" # Relative path to `libx264` const libx264_splitpath = ["lib", "libx264.so"] @@ -38,8 +39,9 @@ function x264(f::Function; adjust_PATH::Bool = true, adjust_LIBPATH::Bool = true end end if adjust_LIBPATH - if !isempty(get(ENV, LIBPATH_env, "")) - env_mapping[LIBPATH_env] = string(LIBPATH, ':', ENV[LIBPATH_env]) + LIBPATH_base = get(ENV, LIBPATH_env, expanduser(LIBPATH_default)) + if !isempty(LIBPATH_base) + env_mapping[LIBPATH_env] = string(LIBPATH, ':', LIBPATH_base) else env_mapping[LIBPATH_env] = LIBPATH end diff --git a/src/wrappers/i686-w64-mingw32.jl b/src/wrappers/i686-w64-mingw32.jl index 34d903c..72dfd95 100644 --- a/src/wrappers/i686-w64-mingw32.jl +++ b/src/wrappers/i686-w64-mingw32.jl @@ -5,6 +5,7 @@ export libx264, x264 PATH = "" LIBPATH = "" LIBPATH_env = "PATH" +LIBPATH_default = "" # Relative path to `libx264` const libx264_splitpath = ["bin", "libx264-157.dll"] @@ -38,8 +39,9 @@ function x264(f::Function; adjust_PATH::Bool = true, adjust_LIBPATH::Bool = true end end if adjust_LIBPATH - if !isempty(get(ENV, LIBPATH_env, "")) - env_mapping[LIBPATH_env] = string(LIBPATH, ';', ENV[LIBPATH_env]) + LIBPATH_base = get(ENV, LIBPATH_env, expanduser(LIBPATH_default)) + if !isempty(LIBPATH_base) + env_mapping[LIBPATH_env] = string(LIBPATH, ';', LIBPATH_base) else env_mapping[LIBPATH_env] = LIBPATH end @@ -59,7 +61,7 @@ function __init__() # Initialize PATH and LIBPATH environment variable listings global PATH_list, LIBPATH_list # We first need to add to LIBPATH_list the libraries provided by Julia - append!(LIBPATH_list, [joinpath(Sys.BINDIR, Base.LIBDIR, "julia"), joinpath(Sys.BINDIR, Base.LIBDIR)]) + append!(LIBPATH_list, [Sys.BINDIR, joinpath(Sys.BINDIR, Base.LIBDIR, "julia"), joinpath(Sys.BINDIR, Base.LIBDIR)]) global libx264_path = normpath(joinpath(artifact_dir, libx264_splitpath...)) # Manually `dlopen()` this right now so that future invocations diff --git a/src/wrappers/powerpc64le-linux-gnu.jl b/src/wrappers/powerpc64le-linux-gnu.jl index 537eadb..b7acd72 100644 --- a/src/wrappers/powerpc64le-linux-gnu.jl +++ b/src/wrappers/powerpc64le-linux-gnu.jl @@ -5,6 +5,7 @@ export libx264, x264 PATH = "" LIBPATH = "" LIBPATH_env = "LD_LIBRARY_PATH" +LIBPATH_default = "" # Relative path to `libx264` const libx264_splitpath = ["lib", "libx264.so"] @@ -38,8 +39,9 @@ function x264(f::Function; adjust_PATH::Bool = true, adjust_LIBPATH::Bool = true end end if adjust_LIBPATH - if !isempty(get(ENV, LIBPATH_env, "")) - env_mapping[LIBPATH_env] = string(LIBPATH, ':', ENV[LIBPATH_env]) + LIBPATH_base = get(ENV, LIBPATH_env, expanduser(LIBPATH_default)) + if !isempty(LIBPATH_base) + env_mapping[LIBPATH_env] = string(LIBPATH, ':', LIBPATH_base) else env_mapping[LIBPATH_env] = LIBPATH end diff --git a/src/wrappers/x86_64-apple-darwin14.jl b/src/wrappers/x86_64-apple-darwin14.jl index 4b81481..ac32879 100644 --- a/src/wrappers/x86_64-apple-darwin14.jl +++ b/src/wrappers/x86_64-apple-darwin14.jl @@ -5,6 +5,7 @@ export libx264, x264 PATH = "" LIBPATH = "" LIBPATH_env = "DYLD_FALLBACK_LIBRARY_PATH" +LIBPATH_default = "~/lib:/usr/local/lib:/lib:/usr/lib" # Relative path to `libx264` const libx264_splitpath = ["lib", "libx264.157.dylib"] @@ -38,8 +39,9 @@ function x264(f::Function; adjust_PATH::Bool = true, adjust_LIBPATH::Bool = true end end if adjust_LIBPATH - if !isempty(get(ENV, LIBPATH_env, "")) - env_mapping[LIBPATH_env] = string(LIBPATH, ':', ENV[LIBPATH_env]) + LIBPATH_base = get(ENV, LIBPATH_env, expanduser(LIBPATH_default)) + if !isempty(LIBPATH_base) + env_mapping[LIBPATH_env] = string(LIBPATH, ':', LIBPATH_base) else env_mapping[LIBPATH_env] = LIBPATH end diff --git a/src/wrappers/x86_64-linux-gnu.jl b/src/wrappers/x86_64-linux-gnu.jl index 2779370..dbb41ab 100644 --- a/src/wrappers/x86_64-linux-gnu.jl +++ b/src/wrappers/x86_64-linux-gnu.jl @@ -5,6 +5,7 @@ export libx264, x264 PATH = "" LIBPATH = "" LIBPATH_env = "LD_LIBRARY_PATH" +LIBPATH_default = "" # Relative path to `libx264` const libx264_splitpath = ["lib", "libx264.so"] @@ -38,8 +39,9 @@ function x264(f::Function; adjust_PATH::Bool = true, adjust_LIBPATH::Bool = true end end if adjust_LIBPATH - if !isempty(get(ENV, LIBPATH_env, "")) - env_mapping[LIBPATH_env] = string(LIBPATH, ':', ENV[LIBPATH_env]) + LIBPATH_base = get(ENV, LIBPATH_env, expanduser(LIBPATH_default)) + if !isempty(LIBPATH_base) + env_mapping[LIBPATH_env] = string(LIBPATH, ':', LIBPATH_base) else env_mapping[LIBPATH_env] = LIBPATH end diff --git a/src/wrappers/x86_64-linux-musl.jl b/src/wrappers/x86_64-linux-musl.jl index df25fae..bb624ae 100644 --- a/src/wrappers/x86_64-linux-musl.jl +++ b/src/wrappers/x86_64-linux-musl.jl @@ -5,6 +5,7 @@ export libx264, x264 PATH = "" LIBPATH = "" LIBPATH_env = "LD_LIBRARY_PATH" +LIBPATH_default = "" # Relative path to `libx264` const libx264_splitpath = ["lib", "libx264.so"] @@ -38,8 +39,9 @@ function x264(f::Function; adjust_PATH::Bool = true, adjust_LIBPATH::Bool = true end end if adjust_LIBPATH - if !isempty(get(ENV, LIBPATH_env, "")) - env_mapping[LIBPATH_env] = string(LIBPATH, ':', ENV[LIBPATH_env]) + LIBPATH_base = get(ENV, LIBPATH_env, expanduser(LIBPATH_default)) + if !isempty(LIBPATH_base) + env_mapping[LIBPATH_env] = string(LIBPATH, ':', LIBPATH_base) else env_mapping[LIBPATH_env] = LIBPATH end diff --git a/src/wrappers/x86_64-unknown-freebsd11.1.jl b/src/wrappers/x86_64-unknown-freebsd11.1.jl index 4b95e85..fbdd955 100644 --- a/src/wrappers/x86_64-unknown-freebsd11.1.jl +++ b/src/wrappers/x86_64-unknown-freebsd11.1.jl @@ -5,6 +5,7 @@ export libx264, x264 PATH = "" LIBPATH = "" LIBPATH_env = "LD_LIBRARY_PATH" +LIBPATH_default = "" # Relative path to `libx264` const libx264_splitpath = ["lib", "libx264.so"] @@ -38,8 +39,9 @@ function x264(f::Function; adjust_PATH::Bool = true, adjust_LIBPATH::Bool = true end end if adjust_LIBPATH - if !isempty(get(ENV, LIBPATH_env, "")) - env_mapping[LIBPATH_env] = string(LIBPATH, ':', ENV[LIBPATH_env]) + LIBPATH_base = get(ENV, LIBPATH_env, expanduser(LIBPATH_default)) + if !isempty(LIBPATH_base) + env_mapping[LIBPATH_env] = string(LIBPATH, ':', LIBPATH_base) else env_mapping[LIBPATH_env] = LIBPATH end diff --git a/src/wrappers/x86_64-w64-mingw32.jl b/src/wrappers/x86_64-w64-mingw32.jl index 76469a3..ca4ae78 100644 --- a/src/wrappers/x86_64-w64-mingw32.jl +++ b/src/wrappers/x86_64-w64-mingw32.jl @@ -5,6 +5,7 @@ export libx264, x264 PATH = "" LIBPATH = "" LIBPATH_env = "PATH" +LIBPATH_default = "" # Relative path to `libx264` const libx264_splitpath = ["bin", "libx264-157.dll"] @@ -38,8 +39,9 @@ function x264(f::Function; adjust_PATH::Bool = true, adjust_LIBPATH::Bool = true end end if adjust_LIBPATH - if !isempty(get(ENV, LIBPATH_env, "")) - env_mapping[LIBPATH_env] = string(LIBPATH, ';', ENV[LIBPATH_env]) + LIBPATH_base = get(ENV, LIBPATH_env, expanduser(LIBPATH_default)) + if !isempty(LIBPATH_base) + env_mapping[LIBPATH_env] = string(LIBPATH, ';', LIBPATH_base) else env_mapping[LIBPATH_env] = LIBPATH end @@ -59,7 +61,7 @@ function __init__() # Initialize PATH and LIBPATH environment variable listings global PATH_list, LIBPATH_list # We first need to add to LIBPATH_list the libraries provided by Julia - append!(LIBPATH_list, [joinpath(Sys.BINDIR, Base.LIBDIR, "julia"), joinpath(Sys.BINDIR, Base.LIBDIR)]) + append!(LIBPATH_list, [Sys.BINDIR, joinpath(Sys.BINDIR, Base.LIBDIR, "julia"), joinpath(Sys.BINDIR, Base.LIBDIR)]) global libx264_path = normpath(joinpath(artifact_dir, libx264_splitpath...)) # Manually `dlopen()` this right now so that future invocations diff --git a/src/x264_jll.jl b/src/x264_jll.jl index 5f1f263..07a28a2 100644 --- a/src/x264_jll.jl +++ b/src/x264_jll.jl @@ -11,7 +11,7 @@ if VERSION < v"1.3.0-rc4" # if they are willing to engage in the kinds of hoop-jumping they might need # to in order to install binaries in a JLL-compatible way on 1.0-1.2. One # example of this hoop-jumping being to express a dependency on this JLL - # package, then import it wtihin a `VERSION >= v"1.3"` conditional, and use + # package, then import it within a `VERSION >= v"1.3"` conditional, and use # the deprecated `build.jl` mechanism to download the binaries through e.g. # `BinaryProvider.jl`. This should work well for the simplest packages, and # require greater and greater heroics for more and more complex packages. @@ -34,7 +34,7 @@ artifacts = Pkg.Artifacts.load_artifacts_toml(artifacts_toml; pkg_uuid=UUID("127 platforms = [Pkg.Artifacts.unpack_platform(e, "x264", artifacts_toml) for e in artifacts["x264"]] # Filter platforms based on what wrappers we've generated on-disk -platforms = filter(p -> isfile(joinpath(@__DIR__, "wrappers", triplet(p) * ".jl")), platforms) +filter!(p -> isfile(joinpath(@__DIR__, "wrappers", replace(triplet(p), "arm-" => "armv7l-") * ".jl")), platforms) # From the available options, choose the best platform best_platform = select_platform(Dict(p => triplet(p) for p in platforms)) @@ -43,7 +43,10 @@ best_platform = select_platform(Dict(p => triplet(p) for p in platforms)) if best_platform === nothing @debug("Unable to load x264; unsupported platform $(triplet(platform_key_abi()))") else - # Load the appropriate wrapper + # Load the appropriate wrapper. Note that on older Julia versions, we still + # say "arm-linux-gnueabihf" instead of the more correct "armv7l-linux-gnueabihf", + # so we manually correct for that here: + best_platform = replace(best_platform, "arm-" => "armv7l-") include(joinpath(@__DIR__, "wrappers", "$(best_platform).jl")) end