summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
author B. Watson2020-11-20 14:55:49 +0100
committer Willy Sudiarto Raharjo2020-11-21 19:14:18 +0100
commit4b5aaa2bff505a88cc1d9c8900460673f4b646bd (patch)
treea5ac0b1787e718b8d5356267041de66acee570e5
parent62b0a3cf50136e91c8b1f52255c7613a770a2fa6 (diff)
downloadslackbuilds-4b5aaa2bff505a88cc1d9c8900460673f4b646bd.tar.gz
development/icdiff: Added (improved color diff)
Signed-off-by: Dave Woodfall <dave@slackbuilds.org> Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
-rw-r--r--development/icdiff/README10
-rw-r--r--development/icdiff/fix-pipe-handling-installed.patch51
-rw-r--r--development/icdiff/icdiff.1134
-rw-r--r--development/icdiff/icdiff.SlackBuild81
-rw-r--r--development/icdiff/icdiff.info10
-rw-r--r--development/icdiff/icdiff.rst93
-rw-r--r--development/icdiff/slack-desc19
7 files changed, 398 insertions, 0 deletions
diff --git a/development/icdiff/README b/development/icdiff/README
new file mode 100644
index 0000000000..4c58cce188
--- /dev/null
+++ b/development/icdiff/README
@@ -0,0 +1,10 @@
+icdiff (improved color diff)
+
+Show differences between files in a colorful two column view. Can be
+used with as a "git diff" replacement, via "git-icdiff" command.
+
+Note: It's highly recommended to use wide terminals with icdiff, for
+instance 160 columns or more.
+
+icdiff is similar in concept to colordiff, but it uses a two column
+"side by side" format.
diff --git a/development/icdiff/fix-pipe-handling-installed.patch b/development/icdiff/fix-pipe-handling-installed.patch
new file mode 100644
index 0000000000..fcc9c84dd9
--- /dev/null
+++ b/development/icdiff/fix-pipe-handling-installed.patch
@@ -0,0 +1,51 @@
+Description: fix closed pipe handling
+Author: Sascha Steinbiss <satta@debian.org>
+Bug: https://github.com/jeffkaufman/icdiff/issues/156
+Forwarded: https://github.com/jeffkaufman/icdiff/pull/165
+Last-Update: 2019-09-25
+--- a/icdiff
++++ b/icdiff
+@@ -594,7 +594,22 @@
+ validate_has_two_arguments(parser, args)
+ if not options.cols:
+ set_cols_option(options)
+- diff(options, *args)
++ try:
++ diff(options, *args)
++ except KeyboardInterrupt:
++ pass
++ except IOError as e:
++ if e.errno == errno.EPIPE:
++ pass
++ else:
++ raise
++
++ # Close stderr to prevent printing errors when icdiff is piped to
++ # something that closes before icdiff is done writing
++ #
++ # See: https://stackoverflow.com/questions/26692284/...
++ # ...how-to-prevent-brokenpipeerror-when-doing-a-flush-in-python
++ sys.stderr.close()
+
+
+ def codec_print(s, options):
+@@ -755,18 +770,4 @@
+
+
+ if __name__ == "__main__":
+- try:
+- start()
+- except KeyboardInterrupt:
+- pass
+- except IOError as e:
+- if e.errno == errno.EPIPE:
+- pass
+- else:
+- raise
+- # Close stderr to prevent printing errors when icdiff is piped to
+- # something that closes before icdiff is done writing
+- #
+- # See: https://stackoverflow.com/questions/26692284/
+- # how-to-prevent-brokenpipeerror-when-doing-a-flush-in-python
+- sys.stderr.close()
++ start()
diff --git a/development/icdiff/icdiff.1 b/development/icdiff/icdiff.1
new file mode 100644
index 0000000000..a0d718e92d
--- /dev/null
+++ b/development/icdiff/icdiff.1
@@ -0,0 +1,134 @@
+.\" Man page generated from reStructuredText.
+.
+.TH ICDIFF 1 "2020-11-15" "1.9.5" "SlackBuilds.org"
+.SH NAME
+icdiff \- improved color diff
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.\" RST source for icdiff(1) man page. Convert with:
+.
+.\" rst2man.py icdiff.rst > icdiff.1
+.
+.\" rst2man.py comes from the SBo development/docutils package.
+.
+.SH SYNOPSIS
+.sp
+icdiff [\fI\-options\fP] left_file right_file
+.sp
+git\-icdiff [\fIgit diff options\fP]
+.SH DESCRIPTION
+.sp
+\fBicdiff\fP show differences between files in a colorful two column view.
+.sp
+\fBgit\-icdiff\fP is a wrapper around \fBgit diff\fP that uses \fBicdiff\fP to show diffs.
+.SH OPTIONS
+.INDENT 0.0
+.TP
+.B \-\-version
+show program\(aqs version number and exit
+.TP
+.B \-h\fP,\fB \-\-help
+show this help message and exit
+.TP
+.BI \-\-cols\fB= COLS
+specify the width of the screen. Autodetection is Unix only
+.TP
+.BI \-\-encoding\fB= ENCODING
+specify the file encoding; defaults to utf8
+.TP
+.BI \-E \ MATCHER\fP,\fB \ \-\-exclude\-lines\fB= MATCHER
+Do not diff lines that match this regex. Not compatible with the \(aqline\-numbers\(aq option
+.TP
+.BI \-\-head\fB= HEAD
+consider only the first N lines of each file
+.TP
+.B \-H\fP,\fB \-\-highlight
+color by changing the background color instead of the foreground color. Very fast, ugly, displays all changes
+.TP
+.BI \-L \ LABELS\fP,\fB \ \-\-label\fB= LABELS
+override file labels with arbitrary tags. Use twice, one for each file
+.TP
+.B \-N\fP,\fB \-\-line\-numbers
+generate output with line numbers. Not compatible with the \(aqexclude\-lines\(aq option.
+.TP
+.B \-\-no\-bold
+use non\-bold colors; recommended for solarized
+.TP
+.B \-\-no\-headers
+don\(aqt label the left and right sides with their file names
+.TP
+.BI \-\-output\-encoding\fB= OUTPUT_ENCODING
+specify the output encoding; defaults to utf8
+.TP
+.B \-r\fP,\fB \-\-recursive
+recursively compare subdirectories
+.TP
+.B \-\-show\-all\-spaces
+color all non\-matching whitespace including that which is not needed for drawing the eye to changes. Slow, ugly, displays all changes
+.TP
+.BI \-\-tabsize\fB= TABSIZE
+tab stop spacing
+.TP
+.B \-u\fP,\fB \-\-patch
+generate patch. This is always true, and only exists for compatibility
+.TP
+.BI \-U \ NUM\fP,\fB \ \-\-unified\fB= NUM\fP,\fB \ \-\-numlines\fB= NUM
+how many lines of context to print; can\(aqt be combined with \-\-whole\-file
+.TP
+.B \-W\fP,\fB \-\-whole\-file
+show the whole file instead of just changed lines and context
+.TP
+.B \-\-strip\-trailing\-cr
+strip any trailing carriage return at the end of an input line
+.TP
+.BI \-\-color\-map\fB= COLOR_MAP
+choose which colors are used for which items. Default is \-\-color\-map=\(aqadd:green_bold,change:yellow_bold,description:blue,meta:magenta,separator:blue,subtract:red_bold\(aq. You don\(aqt have to override all of them: \(aq\-\-color\-map=separator:white,description:cyan\(aq
+.UNINDENT
+.SH NOTE
+.sp
+It\(aqs highly recommended to use wide terminals with \fBicdiff\fP, for
+instance 160 columns or more.
+.SH EXAMPLES
+.sp
+See the file /usr/doc/icdiff\-1.9.5/README.md for examples.
+.SH COPYRIGHT
+.sp
+See the file /usr/doc/icdiff\-1.9.5/LICENSE for license information.
+.SH AUTHORS
+.sp
+icdiff was written by Jeff Kaufman.
+.sp
+This man page written for the SlackBuilds.org project
+by B. Watson, and is licensed under the WTFPL.
+.SH SEE ALSO
+.sp
+diff(1), colordiff(1), git\-difftool(1)
+.sp
+The icdiff homepage: \fI\%https://www.jefftk.com/icdiff\fP
+.\" Generated by docutils manpage writer.
+.
diff --git a/development/icdiff/icdiff.SlackBuild b/development/icdiff/icdiff.SlackBuild
new file mode 100644
index 0000000000..2be5b2cc21
--- /dev/null
+++ b/development/icdiff/icdiff.SlackBuild
@@ -0,0 +1,81 @@
+#!/bin/sh
+
+# Slackware build script for icdiff
+
+# Written by B. Watson (yalhcru@gmail.com)
+
+# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+
+PRGNAM=icdiff
+VERSION=${VERSION:-1.9.5}
+SRCVER=release-$VERSION
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$SRCVER
+tar xvf $CWD/$PRGNAM-$SRCVER.tar.gz
+cd $PRGNAM-$SRCVER
+chown -R root:root .
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
+
+# patch from upstream git by way of Debian: Close stderr to prevent
+# printing errors when icdiff is piped to something that closes before
+# icdiff is done writing.
+patch -p1 < $CWD/fix-pipe-handling-installed.patch
+
+# 20201115 bkw: at some point, Slackware's /usr/bin/python will be python3.
+# This stuff can go away then.
+case "${PYVER:-auto}" in
+ 2|3) ;; # use as-is
+ auto) PYVER=2; python3 -c 'import sys' 2>/dev/null && PYVER=3 ;;
+esac
+
+python$PYVER setup.py install --root=$PKG
+
+# man page made from README.md by SlackBuild author.
+mkdir -p $PKG/usr/man/man1
+gzip -9c < $CWD/$PRGNAM.1 > $PKG/usr/man/man1/$PRGNAM.1.gz
+ln -s $PRGNAM.1.gz $PKG/usr/man/man1/git-$PRGNAM.1.gz
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a README* LICENSE* $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/development/icdiff/icdiff.info b/development/icdiff/icdiff.info
new file mode 100644
index 0000000000..39d246098e
--- /dev/null
+++ b/development/icdiff/icdiff.info
@@ -0,0 +1,10 @@
+PRGNAM="icdiff"
+VERSION="1.9.5"
+HOMEPAGE="https://www.jefftk.com/icdiff"
+DOWNLOAD="https://github.com/jeffkaufman/icdiff/archive/release-1.9.5/icdiff-release-1.9.5.tar.gz"
+MD5SUM="c896202f930336dfa461a0295019f887"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"
diff --git a/development/icdiff/icdiff.rst b/development/icdiff/icdiff.rst
new file mode 100644
index 0000000000..d6b9cdca42
--- /dev/null
+++ b/development/icdiff/icdiff.rst
@@ -0,0 +1,93 @@
+.. RST source for icdiff(1) man page. Convert with:
+.. rst2man.py icdiff.rst > icdiff.1
+.. rst2man.py comes from the SBo development/docutils package.
+
+.. |version| replace:: 1.9.5
+.. |date| date::
+
+======
+icdiff
+======
+
+-------------------
+improved color diff
+-------------------
+
+:Manual section: 1
+:Manual group: SlackBuilds.org
+:Date: |date|
+:Version: |version|
+
+SYNOPSIS
+========
+
+icdiff [*-options*] left_file right_file
+
+git-icdiff [*git diff options*]
+
+DESCRIPTION
+===========
+
+**icdiff** show differences between files in a colorful two column view.
+
+**git-icdiff** is a wrapper around **git diff** that uses **icdiff** to show diffs.
+
+OPTIONS
+=======
+
+--version show program's version number and exit
+-h, --help show this help message and exit
+--cols=COLS specify the width of the screen. Autodetection is Unix only
+--encoding=ENCODING specify the file encoding; defaults to utf8
+-E MATCHER, --exclude-lines=MATCHER
+ Do not diff lines that match this regex. Not compatible with the 'line-numbers' option
+--head=HEAD consider only the first N lines of each file
+-H, --highlight color by changing the background color instead of the foreground color. Very fast, ugly, displays all changes
+-L LABELS, --label=LABELS
+ override file labels with arbitrary tags. Use twice, one for each file
+-N, --line-numbers generate output with line numbers. Not compatible with the 'exclude-lines' option.
+--no-bold use non-bold colors; recommended for solarized
+--no-headers don't label the left and right sides with their file names
+--output-encoding=OUTPUT_ENCODING
+ specify the output encoding; defaults to utf8
+-r, --recursive recursively compare subdirectories
+--show-all-spaces color all non-matching whitespace including that which is not needed for drawing the eye to changes. Slow, ugly, displays all changes
+--tabsize=TABSIZE tab stop spacing
+-u, --patch generate patch. This is always true, and only exists for compatibility
+-U NUM, --unified=NUM, --numlines=NUM
+ how many lines of context to print; can't be combined with --whole-file
+-W, --whole-file show the whole file instead of just changed lines and context
+--strip-trailing-cr strip any trailing carriage return at the end of an input line
+--color-map=COLOR_MAP
+ choose which colors are used for which items. Default is --color-map='add:green_bold,change:yellow_bold,description:blue,meta:magenta,separator:blue,subtract:red_bold'. You don't have to override all of them: '--color-map=separator:white,description:cyan'
+
+NOTE
+====
+
+It's highly recommended to use wide terminals with **icdiff**, for
+instance 160 columns or more.
+
+EXAMPLES
+========
+
+See the file /usr/doc/icdiff-|version|/README.md for examples.
+
+COPYRIGHT
+=========
+
+See the file /usr/doc/icdiff-|version|/LICENSE for license information.
+
+AUTHORS
+=======
+
+icdiff was written by Jeff Kaufman.
+
+This man page written for the SlackBuilds.org project
+by B. Watson, and is licensed under the WTFPL.
+
+SEE ALSO
+========
+
+diff(1), colordiff(1), git-difftool(1)
+
+The icdiff homepage: https://www.jefftk.com/icdiff
diff --git a/development/icdiff/slack-desc b/development/icdiff/slack-desc
new file mode 100644
index 0000000000..30f23d20c0
--- /dev/null
+++ b/development/icdiff/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+icdiff: icdiff (improved color diff)
+icdiff:
+icdiff: Show differences between files in a colorful two column view. Can be
+icdiff: used with as a "git diff" replacement, via "git-icdiff" command.
+icdiff:
+icdiff:
+icdiff:
+icdiff:
+icdiff:
+icdiff:
+icdiff: