diff --git a/Dockerfile b/Dockerfile index 6fda43bd..f73ad7ac 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,9 +1,12 @@ -FROM alpine +FROM debian:buster-slim # For i386 -#FROM i386/alpine +#FROM i386/debian:buster-slim #ENTRYPOINT ["linux32", "--"] -RUN apk add --no-cache git libtool automake autoconf make g++ bash openjdk8 +# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=863199 +RUN mkdir -p /usr/share/man/man1 + +RUN apt-get update && apt-get install openjdk-10-jdk-headless git-core bash libtool automake autoconf make g++ RUN git clone --depth=3 $(: --shallow-submodules) --recurse-submodules https://gitlab.com/MasterPassword/MasterPassword.git /mpw RUN cd /mpw/gradle && ./gradlew -i clean build diff --git a/lib/bin/build_lib b/lib/bin/build_lib index 319cd68c..5a3e6ff3 100755 --- a/lib/bin/build_lib +++ b/lib/bin/build_lib @@ -32,8 +32,15 @@ PATH+=:/usr/local/bin needs() { _needs "$@"; } _needs() { local failed=0 - for tool; do - hash "$tool" || { echo >&2 "Missing: $tool. Please install this tool."; (( failed++ )); } + for spec; do + IFS=: read pkg tools <<< "$spec" + IFS=, read -a tools <<< "${tools:-$pkg}" + for tool in "${tools[@]}"; do + hash "$tool" && continue 2 + done + + echo >&2 "Missing: $pkg. Please install this package." + (( failed++ )) done return $failed @@ -51,7 +58,7 @@ _initialize() { # # Check if all tools needed for the default implementations are available. # -# By default, this will check for `libtool` (for libtoolize), `automake` (for aclocal) and `autoconf` (for autoreconf). +# By default, this will check for `libtool` (for libtoolize), `automake` (for aclocal), `autoconf` (for autoreconf) and make. initialize_needs() { _initialize_needs "$@"; } _initialize_needs() { if [[ $platform = windows ]]; then @@ -59,7 +66,7 @@ _initialize_needs() { export VSINSTALLDIR="${VSINSTALLDIR:-$(cd "$(cygpath -F 0x002a)/Microsoft Visual Studio"/*/*/Common7/.. && pwd)}" [[ -e "$VSINSTALLDIR/Common7/Tools/VsMSBuildCmd.bat" ]] || { echo >&2 "Missing: msbuild. Please install 'Build Tools for Visual Studio'."; return 1; } else - needs libtool automake autoconf + needs libtool:libtoolize,glibtoolize automake autoconf make fi } diff --git a/platform-independent/c/core/build.gradle b/platform-independent/c/core/build.gradle index 661fac0e..d9b2e73a 100644 --- a/platform-independent/c/core/build.gradle +++ b/platform-independent/c/core/build.gradle @@ -35,7 +35,7 @@ library { } withType( GccCompatibleToolChain ) { eachPlatform { - cppCompiler.withArguments { addAll( ['-x', 'c', '-static', '-O3', '-Werror', '-DMPW_SODIUM=1'] ) } + cppCompiler.withArguments { addAll( ['-x', 'c', '-O3', '-Werror', '-DMPW_SODIUM=1'] ) } } } } diff --git a/platform-independent/c/core/lib/linux/x86/libmpw.so b/platform-independent/c/core/lib/linux/x86/libmpw.so index 23e081c4..d4a724c3 100755 Binary files a/platform-independent/c/core/lib/linux/x86/libmpw.so and b/platform-independent/c/core/lib/linux/x86/libmpw.so differ diff --git a/platform-independent/c/core/lib/linux/x86_64/libmpw.so b/platform-independent/c/core/lib/linux/x86_64/libmpw.so index c435a862..f7566bb9 100755 Binary files a/platform-independent/c/core/lib/linux/x86_64/libmpw.so and b/platform-independent/c/core/lib/linux/x86_64/libmpw.so differ