From f3f043533deb5035028ea79a89f95cf52fc4e54d Mon Sep 17 00:00:00 2001 From: Brandon Ording Date: Sat, 20 Apr 2019 18:14:16 -0400 Subject: [PATCH 1/4] Disable HTTPS when building on linux --- build.libgit2.sh | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/build.libgit2.sh b/build.libgit2.sh index 2212d7f4..c265c6bb 100755 --- a/build.libgit2.sh +++ b/build.libgit2.sh @@ -4,6 +4,15 @@ set -e LIBGIT2SHA=`cat ./nuget.package/libgit2/libgit2_hash.txt` SHORTSHA=${LIBGIT2SHA:0:7} +OS=`uname` +ARCH=`uname -m` +PACKAGEPATH="nuget.package/runtimes" + +if [[ $OS == "Darwin" ]]; then + USEHTTPS="ON" +else + USEHTTPS="OFF" +fi rm -rf libgit2/build mkdir libgit2/build @@ -21,6 +30,7 @@ cmake -DCMAKE_BUILD_TYPE:STRING=Release \ -DENABLE_TRACE=ON \ -DLIBGIT2_FILENAME=git2-$SHORTSHA \ -DCMAKE_OSX_ARCHITECTURES="i386;x86_64" \ + -DUSE_HTTPS=$USEHTTPS \ -DUSE_BUNDLED_ZLIB=ON \ -DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN_FILE} \ .. @@ -28,11 +38,6 @@ cmake --build . popd -OS=`uname` -ARCH=`uname -m` - -PACKAGEPATH="nuget.package/runtimes" - if [[ $RID == "" ]]; then if [[ $ARCH == "x86_64" ]]; then RID="unix-x64" From 6844e705b8be2ef1dbe7a078f8725594e465cda3 Mon Sep 17 00:00:00 2001 From: Brandon Ording Date: Sat, 20 Apr 2019 18:24:57 -0400 Subject: [PATCH 2/4] Remove unneeded builds --- .travis.yml | 28 ++----------------- Dockerfile.alpine.3.9-x64 | 7 ----- Dockerfile.debian.9-x64 | 7 ----- Dockerfile.fedora-x64 | 7 ----- ...ile.debian-arm64 => Dockerfile.linux-arm64 | 3 +- ...le.alpine-x64 => Dockerfile.linux-musl-x64 | 2 +- Dockerfile.linux-x64 | 2 +- Dockerfile.rhel-x64 | 8 ------ Dockerfile.ubuntu.16.04-arm64 | 17 ----------- Dockerfile.ubuntu.18.04-x64 | 7 ----- 10 files changed, 5 insertions(+), 83 deletions(-) delete mode 100644 Dockerfile.alpine.3.9-x64 delete mode 100644 Dockerfile.debian.9-x64 delete mode 100644 Dockerfile.fedora-x64 rename Dockerfile.debian-arm64 => Dockerfile.linux-arm64 (79%) rename Dockerfile.alpine-x64 => Dockerfile.linux-musl-x64 (66%) delete mode 100644 Dockerfile.rhel-x64 delete mode 100644 Dockerfile.ubuntu.16.04-arm64 delete mode 100644 Dockerfile.ubuntu.18.04-x64 diff --git a/.travis.yml b/.travis.yml index 359cc59a..a36b5a55 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,37 +12,13 @@ matrix: - os: linux dist: trusty sudo: required - env: RID=ubuntu.18.04-x64 + env: RID=linux-musl-x64 - os: linux dist: trusty sudo: required - env: RID=rhel-x64 - - os: linux - dist: trusty - sudo: required - env: RID=fedora-x64 - - os: linux - dist: trusty - sudo: required - env: RID=debian.9-x64 - - os: linux - dist: trusty - sudo: required - env: RID=alpine-x64 - - os: linux - dist: trusty - sudo: required - env: RID=alpine.3.9-x64 + env: RID=linux-arm64 - os: osx env: RID=osx - - os: linux - dist: trusty - sudo: required - env: RID=ubuntu.16.04-arm64 - - os: linux - dist: trusty - sudo: required - env: RID=debian-arm64 branches: only: diff --git a/Dockerfile.alpine.3.9-x64 b/Dockerfile.alpine.3.9-x64 deleted file mode 100644 index dddeb117..00000000 --- a/Dockerfile.alpine.3.9-x64 +++ /dev/null @@ -1,7 +0,0 @@ -FROM alpine:3.9 -WORKDIR /nativebinaries -COPY . /nativebinaries/ - -RUN apk add --no-cache bash build-base cmake openssl-dev - -CMD ["/bin/bash", "-c", "./build.libgit2.sh"] diff --git a/Dockerfile.debian.9-x64 b/Dockerfile.debian.9-x64 deleted file mode 100644 index 5125004d..00000000 --- a/Dockerfile.debian.9-x64 +++ /dev/null @@ -1,7 +0,0 @@ -FROM debian:9 -WORKDIR /nativebinaries -COPY . /nativebinaries/ - -RUN apt update && apt -y install cmake gcc libssl-dev pkg-config - -CMD ["/bin/bash", "-c", "./build.libgit2.sh"] diff --git a/Dockerfile.fedora-x64 b/Dockerfile.fedora-x64 deleted file mode 100644 index 1d77b19d..00000000 --- a/Dockerfile.fedora-x64 +++ /dev/null @@ -1,7 +0,0 @@ -FROM fedora:26 -WORKDIR /nativebinaries -COPY . /nativebinaries/ - -RUN yum -y install cmake gcc make openssl-devel - -CMD ["/bin/bash", "-c", "./build.libgit2.sh"] diff --git a/Dockerfile.debian-arm64 b/Dockerfile.linux-arm64 similarity index 79% rename from Dockerfile.debian-arm64 rename to Dockerfile.linux-arm64 index 32c8ab1a..201daf85 100644 --- a/Dockerfile.debian-arm64 +++ b/Dockerfile.linux-arm64 @@ -6,7 +6,6 @@ RUN dpkg --add-architecture arm64 RUN apt update \ && apt -y install cmake pkg-config \ - crossbuild-essential-arm64 \ - libssl-dev:arm64 + crossbuild-essential-arm64 CMD ["/bin/bash", "-c", "./build.libgit2.sh"] diff --git a/Dockerfile.alpine-x64 b/Dockerfile.linux-musl-x64 similarity index 66% rename from Dockerfile.alpine-x64 rename to Dockerfile.linux-musl-x64 index 25869a68..07cd6f88 100644 --- a/Dockerfile.alpine-x64 +++ b/Dockerfile.linux-musl-x64 @@ -2,6 +2,6 @@ FROM alpine:3.7 WORKDIR /nativebinaries COPY . /nativebinaries/ -RUN apk add --no-cache bash build-base cmake openssl-dev +RUN apk add --no-cache bash build-base cmake CMD ["/bin/bash", "-c", "./build.libgit2.sh"] diff --git a/Dockerfile.linux-x64 b/Dockerfile.linux-x64 index e052a508..dbed1ff7 100644 --- a/Dockerfile.linux-x64 +++ b/Dockerfile.linux-x64 @@ -2,7 +2,7 @@ FROM ubuntu:14.04 WORKDIR /nativebinaries COPY . /nativebinaries/ -RUN apt update && apt -y install libssl-dev pkg-config curl make gcc build-essential +RUN apt update && apt -y install pkg-config curl make gcc build-essential RUN curl -L https://github.com/Kitware/CMake/releases/download/v3.15.4/cmake-3.15.4-Linux-x86_64.sh -o /tmp/cmake.sh && bash /tmp/cmake.sh --skip-license --prefix=/usr/local diff --git a/Dockerfile.rhel-x64 b/Dockerfile.rhel-x64 deleted file mode 100644 index 3e6684de..00000000 --- a/Dockerfile.rhel-x64 +++ /dev/null @@ -1,8 +0,0 @@ -FROM centos:6 -WORKDIR /nativebinaries -COPY . /nativebinaries/ - -RUN yum -y install gcc make openssl-devel -RUN curl -L https://github.com/Kitware/CMake/releases/download/v3.15.4/cmake-3.15.4-Linux-x86_64.sh -o /tmp/cmake.sh && bash /tmp/cmake.sh --skip-license --prefix=/usr/local - -CMD ["/bin/bash", "-c", "./build.libgit2.sh"] diff --git a/Dockerfile.ubuntu.16.04-arm64 b/Dockerfile.ubuntu.16.04-arm64 deleted file mode 100644 index c9c21af6..00000000 --- a/Dockerfile.ubuntu.16.04-arm64 +++ /dev/null @@ -1,17 +0,0 @@ -FROM ubuntu:16.04 - -WORKDIR /nativebinaries -COPY . /nativebinaries/ - -RUN dpkg --add-architecture arm64 \ -&& sed -i 's/deb/deb [arch=amd64]/g' /etc/apt/sources.list \ -&& echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports xenial main universe" > /etc/apt/sources.list.d/arm64.list \ -&& echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports xenial-updates main universe" > /etc/apt/sources.list.d/arm64-updates.list - -RUN apt update \ -&& apt -y install cmake pkg-config \ - crossbuild-essential-arm64 \ - pkg-config-aarch64-linux-gnu \ - libssl-dev:arm64 - -CMD ["/bin/bash", "-c", "./build.libgit2.sh"] diff --git a/Dockerfile.ubuntu.18.04-x64 b/Dockerfile.ubuntu.18.04-x64 deleted file mode 100644 index 3d475832..00000000 --- a/Dockerfile.ubuntu.18.04-x64 +++ /dev/null @@ -1,7 +0,0 @@ -FROM ubuntu:18.04 -WORKDIR /nativebinaries -COPY . /nativebinaries/ - -RUN apt update && apt -y install cmake libssl-dev pkg-config - -CMD ["/bin/bash", "-c", "./build.libgit2.sh"] From cb962c4da1b99ce53d0ca72449a11f62e0aadc39 Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Wed, 3 Apr 2019 18:59:32 +0200 Subject: [PATCH 3/4] Add 32-bit arm (armhf) support --- .travis.yml | 4 ++++ CMakeLists.arm.txt | 6 ++++++ Dockerfile.linux-arm | 11 +++++++++++ build.libgit2.sh | 4 ++++ 4 files changed, 25 insertions(+) create mode 100644 CMakeLists.arm.txt create mode 100644 Dockerfile.linux-arm diff --git a/.travis.yml b/.travis.yml index a36b5a55..c76f36a7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,6 +17,10 @@ matrix: dist: trusty sudo: required env: RID=linux-arm64 + - os: linux + dist: trusty + sudo: required + env: RID=linux-arm - os: osx env: RID=osx diff --git a/CMakeLists.arm.txt b/CMakeLists.arm.txt new file mode 100644 index 00000000..4b11f14a --- /dev/null +++ b/CMakeLists.arm.txt @@ -0,0 +1,6 @@ +SET(CMAKE_SYSTEM_NAME Linux) +set(CMAKE_SYSTEM_PROCESSOR arm) +set(TARGET_ABI "linux-gnueabihf") + +SET(CMAKE_C_COMPILER ${CMAKE_SYSTEM_PROCESSOR}-${TARGET_ABI}-gcc) +SET(CMAKE_CXX_COMPILER ${CMAKE_SYSTEM_PROCESSOR}-${TARGET_ABI}-g++) diff --git a/Dockerfile.linux-arm b/Dockerfile.linux-arm new file mode 100644 index 00000000..21dfec2c --- /dev/null +++ b/Dockerfile.linux-arm @@ -0,0 +1,11 @@ +FROM debian:9 +WORKDIR /nativebinaries +COPY . /nativebinaries/ + +RUN dpkg --add-architecture armhf + +RUN apt update \ +&& apt -y install cmake pkg-config \ + crossbuild-essential-armhf + +CMD ["/bin/bash", "-c", "./build.libgit2.sh"] diff --git a/build.libgit2.sh b/build.libgit2.sh index c265c6bb..fadd699c 100755 --- a/build.libgit2.sh +++ b/build.libgit2.sh @@ -20,6 +20,10 @@ pushd libgit2/build export _BINPATH=`pwd` +if [[ $RID == *arm ]]; then + export TOOLCHAIN_FILE=/nativebinaries/CMakeLists.arm.txt +fi + if [[ $RID == *arm64 ]]; then export TOOLCHAIN_FILE=/nativebinaries/CMakeLists.arm64.txt fi From 925b27efb6c4a1cfd799eb0fd08faa067cc26119 Mon Sep 17 00:00:00 2001 From: Brandon Ording Date: Sat, 4 Apr 2020 23:36:33 -0400 Subject: [PATCH 4/4] Formatting --- Dockerfile.linux-arm | 4 +--- Dockerfile.linux-arm64 | 4 +--- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/Dockerfile.linux-arm b/Dockerfile.linux-arm index 21dfec2c..9e6d6c06 100644 --- a/Dockerfile.linux-arm +++ b/Dockerfile.linux-arm @@ -4,8 +4,6 @@ COPY . /nativebinaries/ RUN dpkg --add-architecture armhf -RUN apt update \ -&& apt -y install cmake pkg-config \ - crossbuild-essential-armhf +RUN apt update && apt -y install cmake pkg-config crossbuild-essential-armhf CMD ["/bin/bash", "-c", "./build.libgit2.sh"] diff --git a/Dockerfile.linux-arm64 b/Dockerfile.linux-arm64 index 201daf85..239dd775 100644 --- a/Dockerfile.linux-arm64 +++ b/Dockerfile.linux-arm64 @@ -4,8 +4,6 @@ COPY . /nativebinaries/ RUN dpkg --add-architecture arm64 -RUN apt update \ -&& apt -y install cmake pkg-config \ - crossbuild-essential-arm64 +RUN apt update && apt -y install cmake pkg-config crossbuild-essential-arm64 CMD ["/bin/bash", "-c", "./build.libgit2.sh"]