pidgin/builders

Parents 242f4e0e9a08
Children 301c506f2a4b
Move all of the individual build scripts to the main directory and some other cleanups
--- a/Dockerfile.appimage-x86_64 Sat Jun 12 04:51:39 2021 -0500
+++ b/Dockerfile.appimage-x86_64 Sat Jun 12 05:50:29 2021 -0500
@@ -21,7 +21,7 @@
# make sure that gdk-pixbuf-query-loaders ends up on the path
ENV PATH=/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0:$PATH
-COPY appimage/build.sh /usr/local/bin/build.sh
+COPY build-appimage.sh /usr/local/bin/build.sh
CMD ["build.sh"]
--- a/Dockerfile.debian-bullseye-amd64 Sat Jun 12 04:51:39 2021 -0500
+++ b/Dockerfile.debian-bullseye-amd64 Sat Jun 12 05:50:29 2021 -0500
@@ -53,7 +53,7 @@
cd .. && \
rm -rf silc-toolkit*
-COPY subproject-build/build.sh /usr/local/bin/build.sh
+COPY build-subproject.sh /usr/local/bin/build.sh
CMD ["build.sh"]
--- a/Dockerfile.fedora-34-amd64 Sat Jun 12 04:51:39 2021 -0500
+++ b/Dockerfile.fedora-34-amd64 Sat Jun 12 05:50:29 2021 -0500
@@ -41,7 +41,7 @@
cd .. && \
rm -rf silc-toolkit*
-COPY subproject-build/build.sh /usr/local/bin/build.sh
+COPY build-subproject.sh /usr/local/bin/build.sh
CMD ["build.sh"]
--- a/Dockerfile.mingw-w64-x86_64 Sat Jun 12 04:51:39 2021 -0500
+++ b/Dockerfile.mingw-w64-x86_64 Sat Jun 12 05:50:29 2021 -0500
@@ -49,5 +49,5 @@
ENV MINGW_DISTRO=mingw-w64-x86_64 PREFIX=/mingw64
-COPY mingw/build.sh /
+COPY build-mingw.sh /build.sh
--- a/Dockerfile.pvs-studio Sat Jun 12 04:51:39 2021 -0500
+++ b/Dockerfile.pvs-studio Sat Jun 12 05:50:29 2021 -0500
@@ -20,5 +20,5 @@
cd .. && \
rm -rf pvs-studio-*
-COPY pvs-studio/build.sh /usr/local/bin/
+COPY build-pvs-studio.sh /usr/local/bin/build.sh
--- a/Dockerfile.scanbuild Sat Jun 12 04:51:39 2021 -0500
+++ b/Dockerfile.scanbuild Sat Jun 12 05:50:29 2021 -0500
@@ -8,5 +8,5 @@
apt-get clean && \
rm -rf /var/lib/apt/lists
-COPY scanbuild/build.sh /usr/local/bin/
+COPY build-scanbuild.sh /usr/local/bin/build.sh
--- a/Dockerfile.ubuntu-hirsute-amd64 Sat Jun 12 04:51:39 2021 -0500
+++ b/Dockerfile.ubuntu-hirsute-amd64 Sat Jun 12 05:50:29 2021 -0500
@@ -54,7 +54,19 @@
apt-get clean && \
rm -rf /var/lib/apt/lists
-COPY simple/build.sh /usr/local/bin/build.sh
+RUN set -ex && \
+ cd /tmp && \
+ wget https://downloads.sourceforge.net/project/silc/silc/toolkit/sources/silc-toolkit-1.1.12.tar.bz2 && \
+ tar jxf silc-toolkit-1.1.12.tar.bz2 && \
+ cd silc-toolkit-1.1.12 && \
+ ./configure && \
+ make -s && \
+ make install && \
+ ldconfig && \
+ cd .. && \
+ rm -rf silc-toolkit*
+
+COPY build-subproject.sh /usr/local/bin/build.sh
CMD ["build.sh"]
--- a/README.md Sat Jun 12 04:51:39 2021 -0500
+++ b/README.md Sat Jun 12 05:50:29 2021 -0500
@@ -1,5 +1,5 @@
# Pidgin Builders
This repository contains the Dockerfiles for creating the build
-images for Pidgin.
+images for Pidgin 3.
--- a/appimage/build.sh Sat Jun 12 04:51:39 2021 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-#!/bin/sh -ex
-# Copyright (C) 2015-2020 Gary Kramlich <grim@reaperworld.com>
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, see <http://www.gnu.org/licenses/>.
-
-TARGET="${TARGET:-unknown}"
-RECIPE="${RECIPE:-pidgin3}"
-RECIPE_PATH="${RECIPE_PATH:-packaging/${RECIPE}.AppImageBuilder.yml}"
-
-BUILD_NUMBER="${BUILD_NUMBER:-0}"
-COMMIT="${HG_COMMIT_SHORT:-unknown-rev}"
-VERSION="${VERSION:-${BUILD_NUMBER}~${COMMIT_SHORT}}"
-
-cd "${HOME}"
-
-meson ${CONFIGURE_ARGS} --prefix=/usr --buildtype=release "${CONVEY_WORKSPACE}" build
-DESTDIR=$(pwd)/AppDir ninja -C build install
-appimage-builder --skip-tests --recipe "${CONVEY_WORKSPACE}/${RECIPE_PATH}"
-
-mkdir -p "${CONVEY_WORKSPACE}/${TARGET}"
-mv *.AppImage "${CONVEY_WORKSPACE}/${TARGET}/"
-
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/build-appimage.sh Sat Jun 12 05:50:29 2021 -0500
@@ -0,0 +1,33 @@
+#!/bin/sh -ex
+# Copyright (C) 2015-2020 Gary Kramlich <grim@reaperworld.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
+
+TARGET="${TARGET:-unknown}"
+RECIPE="${RECIPE:-pidgin3}"
+RECIPE_PATH="${RECIPE_PATH:-packaging/${RECIPE}.AppImageBuilder.yml}"
+
+BUILD_NUMBER="${BUILD_NUMBER:-0}"
+COMMIT="${HG_COMMIT_SHORT:-unknown-rev}"
+VERSION="${VERSION:-${BUILD_NUMBER}~${COMMIT_SHORT}}"
+
+cd "${HOME}"
+
+meson ${CONFIGURE_ARGS} --prefix=/usr --buildtype=release "${CONVEY_WORKSPACE}" build
+DESTDIR=$(pwd)/AppDir ninja -C build install
+appimage-builder --skip-tests --recipe "${CONVEY_WORKSPACE}/${RECIPE_PATH}"
+
+mkdir -p "${CONVEY_WORKSPACE}/${TARGET}"
+mv *.AppImage "${CONVEY_WORKSPACE}/${TARGET}/"
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/build-mingw.sh Sat Jun 12 05:50:29 2021 -0500
@@ -0,0 +1,27 @@
+#!/bin/sh -ex
+# Copyright (C) 2015-2019 Gary Kramlich <grim@reaperworld.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+export SRC_DIR="${CONVEY_WORKSPACE}"
+export BUILD_DIR=`pwd`
+
+cp "${CONVEY_WORKSPACE}/packaging/mingw/PKGBUILD" .
+
+MINGW_PACKAGE_PREFIX="${MINGW_DISTRO}" makepkg-cross
+
+mkdir -p "${CONVEY_WORKSPACE}/${MINGW_DISTRO}"
+mv *.tar.xz "${CONVEY_WORKSPACE}/${MINGW_DISTRO}"
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/build-pvs-studio.sh Sat Jun 12 05:50:29 2021 -0500
@@ -0,0 +1,69 @@
+#!/bin/sh -ex
+# Copyright (C) 2015-2019 Gary Kramlich <grim@reaperworld.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+cd ${CONVEY_WORKSPACE}
+
+PVS_IGNORED_CODES=${PVS_IGNORED_CODES:-}
+
+BUILD_DIR="build-pvs-studio"
+PLOG_ARGS="--excludedCodes V011,V568,V1042"
+
+if [ -n "${PVS_IGNORED_CODES}" ]; then
+ PLOG_ARGS="${PLOG_ARGS},${PVS_IGNORED_CODES}"
+fi
+
+# don't leak our secrets via `set -x`
+set +x
+if [ -z "${PVS_STUDIO_USERNAME}" -o -z "${PVS_STUDIO_KEY}" ] ; then
+ echo "Both PVS_STUDIO_USERNAME and PVS_STUDIO_KEY must be provided" >&2
+ exit 1
+fi
+set -x
+
+# don't echo commands as we're stashing secrets
+set +x
+echo "${PVS_STUDIO_USERNAME}" > /license
+echo "${PVS_STUDIO_KEY}" >> /license
+set -x
+
+meson ${BUILD_DIR}
+cd ${BUILD_DIR}
+
+echo "running ninja because we don't have a way to just generate the built source files" >&2
+ninja
+
+echo "creating compile_commands.json"
+ninja -t compdb
+
+# run the analyzer
+pvs-studio-analyzer analyze -l /license -o pvs-studio.log
+
+# convert the output to html
+plog-converter -a GA:1,2 -t fullhtml -o pvs-studio -p ${HG_REMOTE} -v ${HG_COMMIT} ${PLOG_ARGS} pvs-studio.log
+cp -a pvs-studio ${CONVEY_WORKSPACE}
+
+# run the converter to determine if we found issues
+plog-converter -a GA:1,2 -t tasklist ${PLOG_ARGS} -o ${CONVEY_WORKSPACE}/pvs-studio/tasklist.txt pvs-studio.log
+ERRORS=$(wc -l ${CONVEY_WORKSPACE}/pvs-studio/tasklist.txt | awk '{print $1}')
+# the tasklist output has a stock line at the top, which we ignore by checking
+# if we have more than one line in the file
+if [ "${ERRORS}" -gt 1 ] ; then
+ exit 1
+fi
+
+exit 0
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/build-scanbuild.sh Sat Jun 12 05:50:29 2021 -0500
@@ -0,0 +1,31 @@
+#!/bin/sh -ex
+# Copyright (C) 2015-2016 Gary Kramlich <grim@reaperworld.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+cd ${CONVEY_WORKSPACE}
+
+BUILD_DIR="build-scanbuild"
+
+meson -Dgplugin:vapi=false ${BUILD_DIR}
+ninja -C ${BUILD_DIR} scan-build
+
+# ninja doesn't pass --status-bugs to scan-build so we have to get hacky...
+EC=$(ls ${BUILD_DIR}/meson-logs/scanbuild | wc -l)
+
+cp -a ${BUILD_DIR}/meson-logs/scanbuild ${CONVEY_WORKSPACE}
+
+exit ${EC}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/build-subproject.sh Sat Jun 12 05:50:29 2021 -0500
@@ -0,0 +1,15 @@
+#!/bin/sh -ex
+
+cd "${CONVEY_WORKSPACE}"
+
+TARGET="${TARGET:-unknown}"
+
+BUILD_DIR="build-${TARGET}"
+
+export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/local/lib/x86_64-linux-gnu/pkgconfig
+
+meson -Dsilc=enabled -Ddoc=true "${BUILD_DIR}"
+ninja -C "${BUILD_DIR}" test
+ninja -C "${BUILD_DIR}" pidgin-pot
+ninja -C "${BUILD_DIR}" doc
+
--- a/convey.yml Sat Jun 12 04:51:39 2021 -0500
+++ b/convey.yml Sat Jun 12 05:50:29 2021 -0500
@@ -42,23 +42,23 @@
stages:
- tasks: [import, build]
+ build:
+ stages:
+ - tasks: [import, build]
+
+ clang:
+ environment: TARGET=clang
+ stages:
+ - tasks: [import, build]
+
clean:
stages:
- tasks: clean
- crossroad-mingw-w64:
- environment: TARGET=crossroad
- stages:
- - tasks: [import, build]
-
debian-bullseye-amd64:
environment: TARGET=debian-bullseye-amd64
stages:
- tasks: [import, build]
- debian-buster-amd64:
- environment: TARGET=debian-buster-amd64
- stages:
- - tasks: [import, build]
fedora-34-amd64:
environment: TARGET=fedora-34-amd64
@@ -70,20 +70,6 @@
stages:
- tasks: [import, build]
- clang:
- environment: TARGET=clang
- stages:
- - tasks: [import, build]
-
- ubuntu-hirsute-amd64:
- environment: TARGET=ubuntu-hirsute-amd64
- stages:
- - tasks: [import, build]
-
- build:
- stages:
- - tasks: [import, build]
-
publish:
environment: [REGISTRY_USERNAME, REGISTRY_PASSWORD]
stages:
@@ -101,3 +87,8 @@
stages:
- tasks: [import, build]
+ ubuntu-hirsute-amd64:
+ environment: TARGET=ubuntu-hirsute-amd64
+ stages:
+ - tasks: [import, build]
+
--- a/mingw/build.sh Sat Jun 12 04:51:39 2021 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-#!/bin/sh -ex
-# Copyright (C) 2015-2019 Gary Kramlich <grim@reaperworld.com>
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-
-export SRC_DIR="${CONVEY_WORKSPACE}"
-export BUILD_DIR=`pwd`
-
-cp "${CONVEY_WORKSPACE}/packaging/mingw/PKGBUILD" .
-
-MINGW_PACKAGE_PREFIX="${MINGW_DISTRO}" makepkg-cross
-
-mkdir -p "${CONVEY_WORKSPACE}/${MINGW_DISTRO}"
-mv *.tar.xz "${CONVEY_WORKSPACE}/${MINGW_DISTRO}"
-
--- a/pvs-studio/build.sh Sat Jun 12 04:51:39 2021 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-#!/bin/sh -ex
-# Copyright (C) 2015-2019 Gary Kramlich <grim@reaperworld.com>
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-
-cd ${CONVEY_WORKSPACE}
-
-PVS_IGNORED_CODES=${PVS_IGNORED_CODES:-}
-
-BUILD_DIR="build-pvs-studio"
-PLOG_ARGS="--excludedCodes V011,V568,V1042"
-
-if [ -n "${PVS_IGNORED_CODES}" ]; then
- PLOG_ARGS="${PLOG_ARGS},${PVS_IGNORED_CODES}"
-fi
-
-# don't leak our secrets via `set -x`
-set +x
-if [ -z "${PVS_STUDIO_USERNAME}" -o -z "${PVS_STUDIO_KEY}" ] ; then
- echo "Both PVS_STUDIO_USERNAME and PVS_STUDIO_KEY must be provided" >&2
- exit 1
-fi
-set -x
-
-# don't echo commands as we're stashing secrets
-set +x
-echo "${PVS_STUDIO_USERNAME}" > /license
-echo "${PVS_STUDIO_KEY}" >> /license
-set -x
-
-meson ${BUILD_DIR}
-cd ${BUILD_DIR}
-
-echo "running ninja because we don't have a way to just generate the built source files" >&2
-ninja
-
-echo "creating compile_commands.json"
-ninja -t compdb
-
-# run the analyzer
-pvs-studio-analyzer analyze -l /license -o pvs-studio.log
-
-# convert the output to html
-plog-converter -a GA:1,2 -t fullhtml -o pvs-studio -p ${HG_REMOTE} -v ${HG_COMMIT} ${PLOG_ARGS} pvs-studio.log
-cp -a pvs-studio ${CONVEY_WORKSPACE}
-
-# run the converter to determine if we found issues
-plog-converter -a GA:1,2 -t tasklist ${PLOG_ARGS} -o ${CONVEY_WORKSPACE}/pvs-studio/tasklist.txt pvs-studio.log
-ERRORS=$(wc -l ${CONVEY_WORKSPACE}/pvs-studio/tasklist.txt | awk '{print $1}')
-# the tasklist output has a stock line at the top, which we ignore by checking
-# if we have more than one line in the file
-if [ "${ERRORS}" -gt 1 ] ; then
- exit 1
-fi
-
-exit 0
-
--- a/scanbuild/build.sh Sat Jun 12 04:51:39 2021 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-#!/bin/sh -ex
-# Copyright (C) 2015-2016 Gary Kramlich <grim@reaperworld.com>
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-
-cd ${CONVEY_WORKSPACE}
-
-BUILD_DIR="build-scanbuild"
-
-meson -Dgplugin:vapi=false ${BUILD_DIR}
-ninja -C ${BUILD_DIR} scan-build
-
-# ninja doesn't pass --status-bugs to scan-build so we have to get hacky...
-EC=$(ls ${BUILD_DIR}/meson-logs/scanbuild | wc -l)
-
-cp -a ${BUILD_DIR}/meson-logs/scanbuild ${CONVEY_WORKSPACE}
-
-exit ${EC}
-
--- a/simple/build.sh Sat Jun 12 04:51:39 2021 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-#!/bin/sh -ex
-
-cd "${CONVEY_WORKSPACE}"
-
-TARGET="${TARGET:-unknown}"
-
-BUILD_DIR="build-${TARGET}"
-
-meson "${BUILD_DIR}"
-ninja -C "${BUILD_DIR}" test
-ninja -C "${BUILD_DIR}" $(ninja -C "${BUILD_DIR}" -t targets | cut -d: -f1 | grep -E '[a-z]+-doc$')
-
--- a/subproject-build/build.sh Sat Jun 12 04:51:39 2021 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-#!/bin/sh -ex
-
-cd "${CONVEY_WORKSPACE}"
-
-TARGET="${TARGET:-unknown}"
-
-BUILD_DIR="build-${TARGET}"
-
-export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/local/lib/x86_64-linux-gnu/pkgconfig
-
-meson -Dsilc=enabled -Ddoc=true "${BUILD_DIR}"
-ninja -C "${BUILD_DIR}" test
-ninja -C "${BUILD_DIR}" pidgin-pot
-ninja -C "${BUILD_DIR}" doc
-