aboutsummaryrefslogtreecommitdiff
path: root/mesa-quilt
diff options
context:
space:
mode:
authorMihai Moldovan <ionic@ionic.de>2017-12-15 12:55:17 +0100
committerMihai Moldovan <ionic@ionic.de>2017-12-15 12:55:17 +0100
commit1dad092caf01d733990648e6df64cbf964df5143 (patch)
tree39de0e643e76754a3e23ca9dd0350b8ba4f76250 /mesa-quilt
parent6d70b9e3c47f27a166f4aacb522c5c1e49092dd9 (diff)
parent2b9025f797ee322e21077e100c2ee27c2e7fa0e0 (diff)
downloadnx-libs-1dad092caf01d733990648e6df64cbf964df5143.tar.gz
nx-libs-1dad092caf01d733990648e6df64cbf964df5143.tar.bz2
nx-libs-1dad092caf01d733990648e6df64cbf964df5143.zip
Merge branch '3.6.x'
Diffstat (limited to 'mesa-quilt')
-rwxr-xr-xmesa-quilt101
1 files changed, 101 insertions, 0 deletions
diff --git a/mesa-quilt b/mesa-quilt
new file mode 100755
index 000000000..2aec761a5
--- /dev/null
+++ b/mesa-quilt
@@ -0,0 +1,101 @@
+#!/bin/bash
+
+# Copyright (C) 2017 by Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
+#
+# This 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 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 St, Fifth Floor, Boston, MA 02110-1301, USA.
+
+d=. ; while [ ! -d "$d/nx-X11/extras" ] && [ "$(readlink -e "$d")" != "/" ]; do d="$d/.."; done
+
+# only continue, if in nx-libs tree
+if [ -d "$d/nx-X11/extras" ]; then
+
+ if which quilt 1>/dev/null; then
+
+ echo "$(basename $0): quilt utility found, so we use it..."
+ echo
+
+ export QUILT_PATCHES="../Mesa.patches"
+ export QUILT_PATCH_OPTS="--reject-format=unified"
+ export QUILT_DIFF_ARGS="-p ab --no-timestamps --no-index --color=auto"
+ export QUILT_REFRESH_ARGS="-p ab --no-timestamps --no-index"
+ export QUILT_COLORS="diff_hdr=1;32:diff_add=1;34:diff_rem=1;31:diff_hunk=1;33:diff_ctx=35:diff_cctx=33"
+ mkdir -p "$d/nx-X11/extras/Mesa.patches"
+
+ cd "$d/nx-X11/extras/Mesa/"
+
+ quilt "$@"
+
+ cd - 1> /dev/null
+
+
+ else
+
+ echo "$(basename $0): no quilt utility found, falling back to stupidly (un)applying our patches..."
+ echo
+
+ CMDLINE_ARGS="$@"
+
+ # we are really stupid here, we only understand 'push -a' and 'pop -a'
+ # this should be sufficient for the build process...
+
+ cd "$d/nx-X11/extras/Mesa/"
+
+ # make sure all need dirs and files exist
+ mkdir -p ./Mesa.patches/
+ touch "../Mesa.patches/series"
+
+ # this file will be needed temporarily
+ touch "../Mesa.patches/.applied-patches"
+
+ if [ "$CMDLINE_ARGS" = "push -a" ]; then
+
+ grep -E -v "^#.*" < "../Mesa.patches/series" | while read patchfile; do
+ if [ -n "$patchfile" ] && [ -r "../Mesa.patches/$patchfile" ] && ! grep -q "$patchfile" < "../Mesa.patches/.applied-patches"; then
+ echo "Applying patch ../Mesa.patches/$patchfile"
+ patch -p1 < "../Mesa.patches/$patchfile"
+ echo "$patchfile" >> "../Mesa.patches/.applied-patches"
+ echo
+ fi
+ done
+
+ elif [ "$CMDLINE_ARGS" = "pop -a" ]; then
+
+ tac "../Mesa.patches/.applied-patches" | while read patchfile; do
+ if [ -n "$patchfile" ] && [ -r "../Mesa.patches/$patchfile" ]; then
+ echo "Removing patch ../Mesa.patches/$patchfile"
+ patch -R -p1 < "../Mesa.patches/$patchfile"
+ sed -e "/$patchfile/d" "../Mesa.patches/.applied-patches" > "../Mesa.patches/.applied-patches.tmp"
+ mv "../Mesa.patches/.applied-patches.tmp" "../Mesa.patches/.applied-patches"
+ echo
+ fi
+ done
+
+ else
+
+ echo "$(basename $0): Doing nothing! Cmdline options not understood: $CMDLINE_ARGS"
+
+ fi
+
+ # remove the .applied-patches file, if empty again
+ if [ ! -s "../Mesa.patches/.applied-patches" ]; then
+ rm -f "../Mesa.patches/.applied-patches"
+ fi
+
+ cd - 1> /dev/null
+
+ fi
+
+fi