From 551cdb4a46596d297925d7ac6461cbfe9fa03b88 Mon Sep 17 00:00:00 2001 From: casey langen Date: Thu, 31 May 2018 22:24:17 -0700 Subject: [PATCH] Updates to support Ubuntu Bionic and Fedora 28. --- .circleci/config.yml | 38 ++++++++++++++++++++++++++++++++++---- CMakeLists.txt | 4 +++- 2 files changed, 37 insertions(+), 5 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index db8bfe6bb..341999a00 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -6,7 +6,7 @@ jobs: steps: - checkout - run: apt-get update - - run: apt-get install -y build-essential clang cmake libboost-thread1.58-dev libboost-system1.58-dev libboost-filesystem1.58-dev libboost-date-time1.58-dev libboost-atomic1.58-dev libboost-chrono1.58-dev libogg-dev libvorbis-dev libflac-dev libfaad-dev libncursesw5-dev libasound2-dev libpulse-dev pulseaudio libmicrohttpd-dev libmp3lame-dev libcurl4-openssl-dev libev-dev + - run: apt-get install -y build-essential clang cmake libboost-thread1.58-dev libboost-system1.58-dev libboost-filesystem1.58-dev libboost-date-time1.58-dev libboost-atomic1.58-dev libboost-chrono1.58-dev libogg-dev libvorbis-dev libflac-dev libfaad-dev libncursesw5-dev libasound2-dev libpulse-dev pulseaudio libmicrohttpd-dev libmp3lame-dev libssl-dev libcurl4-openssl-dev libev-dev - run: cmake -DGENERATE_DEB=1 -DDEB_ARCHITECTURE=amd64 -DDEB_DISTRO=xenial -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release . - run: make -j2 - run: make package @@ -21,7 +21,7 @@ jobs: steps: - checkout - run: apt-get update - - run: apt-get install -y build-essential clang cmake libboost-thread1.63-dev libboost-system1.63-dev libboost-filesystem1.63-dev libboost-date-time1.63-dev libboost-atomic1.63-dev libboost-chrono1.63-dev libogg-dev libvorbis-dev libflac-dev libfaad-dev libncursesw5-dev libasound2-dev libpulse-dev pulseaudio libmicrohttpd-dev libmp3lame-dev libcurl4-openssl-dev libev-dev + - run: apt-get install -y build-essential clang cmake libboost-thread1.63-dev libboost-system1.63-dev libboost-filesystem1.63-dev libboost-date-time1.63-dev libboost-atomic1.63-dev libboost-chrono1.63-dev libogg-dev libvorbis-dev libflac-dev libfaad-dev libncursesw5-dev libasound2-dev libpulse-dev pulseaudio libmicrohttpd-dev libmp3lame-dev libssl-devlibcurl4-openssl-dev libev-dev - run: cmake -DGENERATE_DEB=1 -DDEB_ARCHITECTURE=amd64 -DDEB_DISTRO=artful -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release . - run: make -j2 - run: make package @@ -30,6 +30,21 @@ jobs: - run: package_cloud push --skip-errors clangen/musikcube/ubuntu/artful /root/debs/*.deb - store_artifacts: path: /root/debs/ + build_ubuntu_bionic: + docker: + - image: ubuntu:bionic + steps: + - checkout + - run: apt-get update + - run: apt-get install -y build-essential clang cmake libboost-thread1.65-dev libboost-system1.65-dev libboost-filesystem1.65-dev libboost-date-time1.65-dev libboost-atomic1.65-dev libboost-chrono1.65-dev libogg-dev libvorbis-dev libflac-dev libfaad-dev libncursesw5-dev libasound2-dev libpulse-dev pulseaudio libmicrohttpd-dev libmp3lame-dev libssl-dev libcurl4-openssl-dev libev-dev + - run: cmake -DGENERATE_DEB=1 -DDEB_ARCHITECTURE=amd64 -DDEB_DISTRO=bionic -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release . + - run: make -j2 + - run: make package + - run: apt-get install -y ruby ruby-all-dev && gem install package_cloud -v 0.2.44 + - run: mkdir -p /root/debs && mv /root/project/*.deb /root/debs/ + - run: package_cloud push --skip-errors clangen/musikcube/ubuntu/bionic /root/debs/*.deb + - store_artifacts: + path: /root/debs/ build_ubuntu_zesty: docker: - image: ubuntu:zesty @@ -38,7 +53,7 @@ jobs: - run: apt-get install sed - run: sed -i -e 's/archive.ubuntu.com\|security.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list - run: apt-get update - - run: apt-get -y install build-essential clang cmake libboost-thread1.62-dev libboost-system1.62-dev libboost-filesystem1.62-dev libboost-date-time1.62-dev libboost-atomic1.62-dev libboost-chrono1.62-dev libogg-dev libvorbis-dev libflac-dev libfaad-dev libncursesw5-dev libasound2-dev libpulse-dev pulseaudio libmicrohttpd-dev libmp3lame-dev libcurl4-openssl-dev libev-dev + - run: apt-get -y install build-essential clang cmake libboost-thread1.62-dev libboost-system1.62-dev libboost-filesystem1.62-dev libboost-date-time1.62-dev libboost-atomic1.62-dev libboost-chrono1.62-dev libogg-dev libvorbis-dev libflac-dev libfaad-dev libncursesw5-dev libasound2-dev libpulse-dev pulseaudio libmicrohttpd-dev libmp3lame-dev libssl-dev libcurl4-openssl-dev libev-dev - run: cmake -DGENERATE_DEB=1 -DDEB_ARCHITECTURE=amd64 -DDEB_DISTRO=zesty -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release . - run: make -j2 - run: make package @@ -75,7 +90,20 @@ jobs: - run: package_cloud push --skip-errors clangen/musikcube/fedora/27 /root/rpms/*.rpm - store_artifacts: path: /root/rpms/ - + build_fedora_28: + docker: + - image: fedora:28 + steps: + - checkout + - run: dnf install -y https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm rpm-build rpmdevtools 'dnf-command(builddep)' + - run: dnf builddep -y musikcube.spec + - run: mkdir -p /root/rpmbuild/SOURCES && spectool -g -R musikcube.spec + - run: rpmbuild -ba -vv musikcube.spec + - run: dnf install -y ruby ruby-devel && gem install package_cloud -v 0.2.44 + - run: mkdir -p /root/rpms && mv /root/rpmbuild/RPMS/x86_64/*.rpm /root/rpms/ + - run: package_cloud push --skip-errors clangen/musikcube/fedora/28 /root/rpms/*.rpm + - store_artifacts: + path: /root/rpms/ workflow_filters: &workflow_filters filters: branches: @@ -87,7 +115,9 @@ workflows: build_and_package: jobs: - build_ubuntu_artful: *workflow_filters + - build_ubuntu_bionic: *workflow_filters - build_ubuntu_zesty: *workflow_filters - build_ubuntu_xenial: *workflow_filters - build_fedora_26: *workflow_filters - build_fedora_27: *workflow_filters + - build_fedora_28: *workflow_filters diff --git a/CMakeLists.txt b/CMakeLists.txt index e7bf06346..2b44be079 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -198,6 +198,7 @@ if (GENERATE_DEB MATCHES "1") if (CMAKE_SYSTEM_NAME MATCHES "Linux") set(DEB_BOOST_VERSION "1.55.0") set(DEB_MICROHTTPD_VERSION "10") + set(DEB_LIBCURL_VERSION "3") if (DEB_DISTRO MATCHES "stretch") set(DEB_BOOST_VERSION "1.62.0") set(DEB_MICROHTTPD_VERSION "12") @@ -210,12 +211,13 @@ if (GENERATE_DEB MATCHES "1") elseif (DEB_DISTRO MATCHES "bionic") set(DEB_BOOST_VERSION "1.65.0") set(DEB_MICROHTTPD_VERSION "12") + set(DEB_LIBCURL_VERSION "4") elseif (DEB_DISTRO MATCHES "xenial") set(DEB_BOOST_VERSION "1.58.0") set(DEB_MICROHTTPD_VERSION "10") endif() - set(DEPENDENCIES "libboost-thread${DEB_BOOST_VERSION}, libboost-system${DEB_BOOST_VERSION}, libboost-filesystem${DEB_BOOST_VERSION}, libmicrohttpd${DEB_MICROHTTPD_VERSION}, libcurl3, libogg0, libvorbis0a, libvorbisfile3, libncursesw5, libasound2, libpulse0, pulseaudio, libmp3lame0, libev4,") + set(DEPENDENCIES "libboost-thread${DEB_BOOST_VERSION}, libboost-system${DEB_BOOST_VERSION}, libboost-filesystem${DEB_BOOST_VERSION}, libmicrohttpd${DEB_MICROHTTPD_VERSION}, libcurl${DEB_LIBCURL_VERSION}, libogg0, libvorbis0a, libvorbisfile3, libncursesw5, libasound2, libpulse0, pulseaudio, libmp3lame0, libev4,") if (${FFMPEG_DECODER} MATCHES "true") set(DEPENDENCIES "${DEPENDENCIES} libavcodec-extra, libavutil55, libavformat57, libswresample2")