[gtk-vnc] build: switch to use meson for making releases



commit a3e0195049471ce58165915b65dfe994ff5e6cf0
Author: Daniel P. Berrangé <berrange redhat com>
Date:   Mon Aug 5 18:03:36 2019 +0100

    build: switch to use meson for making releases
    
    Signed-off-by: Daniel P. Berrangé <berrange redhat com>

 build-aux/make-dist | 37 +++++++++++++++++++++
 prepare-release.sh  | 94 +++++++++++++++++------------------------------------
 2 files changed, 67 insertions(+), 64 deletions(-)
---
diff --git a/build-aux/make-dist b/build-aux/make-dist
new file mode 100755
index 0000000..63b869e
--- /dev/null
+++ b/build-aux/make-dist
@@ -0,0 +1,37 @@
+#!/bin/sh
+
+set -e
+
+BUILDDIR=$1
+
+test -z "$BUILDDIR" && BUILDDIR=build
+
+VERSION=`grep 'version:' meson.build  | head -1 | awk '{print $2}' | sed -e "s/'//g" -e "s/,//"`
+DISTNAME=gtk-vnc-$VERSION
+DISTDIR=$BUILDDIR/$DISTNAME
+
+rm -rf $DISTDIR
+mkdir -p $DISTDIR
+
+git clone --shared . $DISTDIR
+rm -rf $DISTDIR/.git
+
+for p in subprojects/*
+do
+    git clone --shared $p $DISTDIR/$p
+    rm -rf $DISTDIR/$p/.git
+done
+
+build-aux/gitlog-to-changelog > $DISTDIR/ChangeLog
+
+out="`git log --pretty=format:'   %aN <%aE>' | sort -u`"
+perl -p -e "s/#authorslist#// and print '$out'" < AUTHORS.in > $DISTDIR/AUTHORS
+rm -f $DISTDIR/AUTHORS.in
+
+perl -p -e "s/\@VERSION\@/$VERSION/" gtk-vnc.spec.in > $DISTDIR/gtk-vnc.spec
+
+cd $BUILDDIR
+tar Jcf $DISTNAME.tar.xz $DISTNAME/
+rm -rf $DISTNAME
+
+echo "Created $DISTDIR.tar.xz"
diff --git a/prepare-release.sh b/prepare-release.sh
index 3868480..9297c4a 100755
--- a/prepare-release.sh
+++ b/prepare-release.sh
@@ -3,81 +3,47 @@
 set -e
 set -v
 
-test -n "$1" && RESULTS=$1 || RESULTS=results.log
-: ${AUTOBUILD_INSTALL_ROOT=$HOME/builder}
+rm -rf build vroot
 
-# Make things clean.
-test -f Makefile && make -k distclean || :
+INSTALL_ROOT=`pwd`/vroot
 
-rm -rf build
-mkdir build
-cd build
+meson --prefix="$INSTALL_ROOT" build/native
 
-../autogen.sh --prefix=$AUTOBUILD_INSTALL_ROOT \
-    --enable-werror
+ninja -C build/native install
 
-make
-make install
+ninja -C build/native syntax-check
 
-# set -o pipefail is a bashism; this use of exec is the POSIX alternative
-exec 3>&1
-st=$(
-  exec 4>&1 >&3
-  { make syntax-check 2>&1 3>&- 4>&-; echo $? >&4; } | tee "$RESULTS"
-)
-exec 3>&-
-test "$st" = 0
+build-aux/make-dist build/
 
-rm -f *.tar.gz
-make dist
+rpmbuild --nodeps \
+   --define "_sourcedir `pwd`/build" \
+   -ta --clean build/gtk-vnc*.tar.xz
 
-if [ -f /usr/bin/rpmbuild ]; then
-  rpmbuild --nodeps \
-     --define "_sourcedir `pwd`" \
-     -ba --clean gtk-vnc.spec
-fi
-
-if [ -x /usr/bin/i686-w64-mingw32-gcc ]; then
-  make distclean
-
-  PKG_CONFIG_PATH="$AUTOBUILD_INSTALL_ROOT/i686-w64-mingw32/sys-root/mingw/lib/pkgconfig" \
-  PATH="/usr/i686-w64-mingw32/sys-root/mingw/bin:$PATH" \
-  CC="i686-w64-mingw32-gcc" \
-  ../configure \
-    --build=$(uname -m)-w64-linux \
-    --host=i686-w64-mingw32 \
-    --without-python \
-    --without-sasl \
-    --prefix="$AUTOBUILD_INSTALL_ROOT/i686-w64-mingw32/sys-root/mingw" \
-    --enable-werror
+if test -x /usr/bin/i686-w64-mingw32-gcc && \
+   test -r /usr/share/mingw/toolchain-mingw32.meson ; then
+  meson build/win32 --prefix="$INSTALL_ROOT/i686-w64-mingw32/sys-root/mingw" \
+              --cross-file="/usr/share/mingw/toolchain-mingw32.meson"
 
-  make
-  make install
+  ninja -C build/win32
+  ninja -C build/win32 install
 fi
 
+if test -x /usr/bin/x86_64-w64-mingw32-gcc && \
+   test -r /usr/share/mingw/toolchain-mingw64.meson ; then
+  meson build/win64 --prefix="$INSTALL_ROOT/x86_64-w64-mingw32/sys-root/mingw" \
+              --cross-file="/usr/share/mingw/toolchain-mingw64.meson"
 
-if [ -x /usr/bin/x86_64-w64-mingw32-gcc ]; then
-  make distclean
-
-  PKG_CONFIG_PATH="$AUTOBUILD_INSTALL_ROOT/x86_64-w64-mingw32/sys-root/mingw/lib/pkgconfig" \
-  PATH="/usr/x86_64-w64-mingw32/sys-root/mingw/bin:$PATH" \
-  CC="x86_64-w64-mingw32-gcc" \
-  ../configure \
-    --build=$(uname -m)-w64-linux \
-    --host=x86_64-w64-mingw32 \
-    --without-python \
-    --without-sasl \
-    --prefix="$AUTOBUILD_INSTALL_ROOT/x86_64-w64-mingw32/sys-root/mingw" \
-    --enable-werror
-
-  make
-  make install
+  ninja -C build/win64
+  ninja -C build/win64 install
 fi
 
-if test -x /usr/bin/i686-w64-mingw32-gcc && test -x /usr/bin/x86_64-w64-mingw32-gcc ; then
-  if [ -f /usr/bin/rpmbuild ]; then
-    rpmbuild --nodeps \
-       --define "_sourcedir `pwd`" \
-       -ba --clean mingw-gtk-vnc.spec
-  fi
+if test -x /usr/bin/i686-w64-mingw32-gcc && \
+   test -r /usr/share/mingw/toolchain-mingw32.meson && \
+   test -x /usr/bin/x86_64-w64-mingw32-gcc && \
+   test -r /usr/share/mingw/toolchain-mingw64.meson &&
+   test -f /usr/bin/rpmbuild; then
+
+   rpmbuild --nodeps \
+       --define "_sourcedir `pwd`/build" \
+       -ba --clean build/native/mingw-gtk-vnc.spec
 fi


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]