diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..a248aec --- /dev/null +++ b/.drone.yml @@ -0,0 +1,164 @@ +pipeline: + gcc5: + image: debian:stretch-slim + pull: true + when: + event: [push, pull_request] + environment: + - LANG=C.utf8 + - CXX=g++-5 + - CXXFLAGS=-pipe -O2 + commands: + - rm /etc/apt/apt.conf.d/docker-clean + - apt-get update -q + - echo "APT::Default-Release \"stretch\";" >> /etc/apt/apt.conf.d/00default_release + - echo "deb http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu xenial main" >> /etc/apt/sources.list.d/ubuntu-toolchain-r.list + - apt-get install -qy gnupg + - gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 0x60c317803a41ba51845e371a1e9377a2ba9ef27f + - gpg --armor --export 0x60c317803a41ba51845e371a1e9377a2ba9ef27f | apt-key add - + - apt-get update -q + - apt-get install -qy -t xenial g++-5 + - apt-get install -qy cmake pkg-config + - apt-get install -qy libcrypto++-dev libmagick++-dev libxdg-basedir-dev + - rm -rf build && mkdir -p build && cd build + - cmake -DCMAKE_INSTALL_PREFIX=/usr .. + - make VERBOSE=1 + volumes: + - /var/cache/debian-package-cache:/var/cache/apt/archives + + gcc6: + image: debian:stretch-slim + pull: true + environment: + - LANG=C.utf8 + - CXX=g++-6 + - CXXFLAGS=-pipe -O2 + commands: + - rm /etc/apt/apt.conf.d/docker-clean + - apt-get update -q + - apt-get install -qy g++-6 cmake pkg-config + - apt-get install -qy libcrypto++-dev libmagick++-dev libxdg-basedir-dev + - rm -rf build && mkdir -p build && cd build + - cmake -DCMAKE_INSTALL_PREFIX=/usr .. + - make VERBOSE=1 + volumes: + - /var/cache/debian-package-cache:/var/cache/apt/archives + + gcc7: + image: debian:stretch-slim + pull: true + when: + event: [push, pull_request] + environment: + - LANG=C.utf8 + - CXX=g++-7 + - CXXFLAGS=-pipe -O2 + commands: + - rm /etc/apt/apt.conf.d/docker-clean + - apt-get update -q + - echo "APT::Default-Release \"stretch\";" >> /etc/apt/apt.conf.d/00default_release + - echo "deb http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu xenial main" >> /etc/apt/sources.list.d/ubuntu-toolchain-r.list + - apt-get install -qy gnupg + - gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 0x60c317803a41ba51845e371a1e9377a2ba9ef27f + - gpg --armor --export 0x60c317803a41ba51845e371a1e9377a2ba9ef27f | apt-key add - + - apt-get update -q + - apt-get install -qy -t xenial g++-7 + - apt-get install -qy cmake pkg-config + - apt-get install -qy libcrypto++-dev libmagick++-dev libxdg-basedir-dev + - rm -rf build && mkdir -p build && cd build + - cmake -DCMAKE_INSTALL_PREFIX=/usr .. + - make VERBOSE=1 + volumes: + - /var/cache/debian-package-cache:/var/cache/apt/archives + + gcc8: + image: debian:stretch-slim + pull: true + when: + event: [push, pull_request] + environment: + - LANG=C.utf8 + - CXX=g++-8 + - CXXFLAGS=-pipe -O2 + commands: + - rm /etc/apt/apt.conf.d/docker-clean + - apt-get update -q + - echo "APT::Default-Release \"stretch\";" >> /etc/apt/apt.conf.d/00default_release + - echo "deb http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu xenial main" >> /etc/apt/sources.list.d/ubuntu-toolchain-r.list + - apt-get install -qy gnupg + - gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 0x60c317803a41ba51845e371a1e9377a2ba9ef27f + - gpg --armor --export 0x60c317803a41ba51845e371a1e9377a2ba9ef27f | apt-key add - + - apt-get update -q + - apt-get install -qy -t xenial g++-8 + - apt-get install -qy cmake pkg-config + - apt-get install -qy libcrypto++-dev libmagick++-dev libxdg-basedir-dev + - rm -rf build && mkdir -p build && cd build + - cmake -DCMAKE_INSTALL_PREFIX=/usr .. + - make VERBOSE=1 + volumes: + - /var/cache/debian-package-cache:/var/cache/apt/archives + + clang5: + image: debian:stretch-slim + pull: true + when: + event: [push, pull_request] + environment: + - LANG=C.utf8 + - CXX=clang++-5.0 + - CXXFLAGS=-pipe -O2 + commands: + - rm /etc/apt/apt.conf.d/docker-clean + - echo "APT::Default-Release \"stretch\";" >> /etc/apt/apt.conf.d/00default_release + - echo "deb http://deb.debian.org/debian stretch-backports main" >> /etc/apt/sources.list.d/stretch.list + - apt-get update -q + - apt-get install -qy -t stretch-backports clang-5.0 + - apt-get install -qy cmake pkg-config + - apt-get install -qy libcrypto++-dev libmagick++-dev libxdg-basedir-dev + - rm -rf build && mkdir -p build && cd build + - cmake -DCMAKE_INSTALL_PREFIX=/usr .. + - make VERBOSE=1 + volumes: + - /var/cache/debian-package-cache:/var/cache/apt/archives + + clang6: + image: debian:stretch-slim + pull: true + when: + event: [push, pull_request] + environment: + - LANG=C.utf8 + - CXX=clang++-6.0 + - CXXFLAGS=-pipe -O2 + commands: + - rm /etc/apt/apt.conf.d/docker-clean + - echo "APT::Default-Release \"stretch\";" >> /etc/apt/apt.conf.d/00default_release + - echo "deb http://deb.debian.org/debian stretch-backports main" >> /etc/apt/sources.list.d/stretch.list + - apt-get update -q + - apt-get install -qy -t stretch-backports clang-6.0 + - apt-get install -qy cmake pkg-config + - apt-get install -qy libcrypto++-dev libmagick++-dev libxdg-basedir-dev + - rm -rf build && mkdir -p build && cd build + - cmake -DCMAKE_INSTALL_PREFIX=/usr .. + - make VERBOSE=1 + volumes: + - /var/cache/debian-package-cache:/var/cache/apt/archives + + gitea_release: + image: plugins/gitea-release + pull: true + when: + event: tag + base_url: https://schlomp.space + secrets: [ gitea_token ] + title: ${DRONE_TAG} + prerelease: true + + notify: + image: drillster/drone-email + pull: true + host: cryptoparty-celle.de + secrets: [ email_username, email_password ] + from: drone@tzend.de + when: + status: [ changed, failure ] diff --git a/CMakeLists.txt b/CMakeLists.txt index 20b598e..2ab24dc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,7 +7,11 @@ project(libravatarserv include(GNUInstallDirs) find_package(PkgConfig REQUIRED) pkg_check_modules(MAGICPP REQUIRED Magick++) -pkg_check_modules(LIBCRYPTOPP REQUIRED libcryptopp) +pkg_check_modules(LIBCRYPTOPP libcryptopp) +if(NOT LIBCRYPTOPP_FOUND) + # Debian stretch package installs libcrypto++.pc + pkg_check_modules(LIBCRYPTOPP REQUIRED libcrypto++) +endif() pkg_check_modules(LIBXDG_BASEDIR REQUIRED libxdg-basedir) set(CMAKE_CXX_STANDARD 14) diff --git a/README.md b/README.md index 82068aa..6ddc4dc 100644 --- a/README.md +++ b/README.md @@ -63,8 +63,8 @@ The avatar directory could look like this: ### Dependencies -* C++ compiler (tested: [gcc](https://gcc.gnu.org/) 7, - [clang](https://llvm.org/) 6) +* C++ compiler (tested: [gcc](https://gcc.gnu.org/) 5/6/7/8, + [clang](https://llvm.org/) 5/6) * [cmake](https://cmake.org/) (at least 3.2) * [crypto++](https://cryptopp.com) (tested: 7.0) * [imagemagick](https://www.imagemagick.org/) (tested: 7.0)