git: 3df343917482 - main - textproc/xxdiff{,-scripts}: ressurect port
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 09 Jul 2025 15:52:46 UTC
The branch main has been updated by fuz:
URL: https://cgit.FreeBSD.org/ports/commit/?id=3df3439174824981511bd1512767381607c1f90a
commit 3df3439174824981511bd1512767381607c1f90a
Author: Robert Clausecker <fuz@FreeBSD.org>
AuthorDate: 2025-07-04 12:47:57 +0000
Commit: Robert Clausecker <fuz@FreeBSD.org>
CommitDate: 2025-07-09 15:52:34 +0000
textproc/xxdiff{,-scripts}: ressurect port
- update to current qt5/qt6 fork
- update scripts to use Python 3
- update port to current conventions
Requested by: reddit user /u/steverikli
---
textproc/Makefile | 2 ++
textproc/xxdiff-scripts/Makefile | 20 +++++++++++++++++
textproc/xxdiff-scripts/pkg-descr | 13 +++++++++++
textproc/xxdiff/Makefile | 45 +++++++++++++++++++++++++++++++++++++++
textproc/xxdiff/Makefile.master | 10 +++++++++
textproc/xxdiff/distinfo | 3 +++
textproc/xxdiff/pkg-descr | 20 +++++++++++++++++
7 files changed, 113 insertions(+)
diff --git a/textproc/Makefile b/textproc/Makefile
index cd5de1cc450d..33486902cb64 100644
--- a/textproc/Makefile
+++ b/textproc/Makefile
@@ -2193,6 +2193,8 @@
SUBDIR += xstream
SUBDIR += xsv-rs
SUBDIR += xwindiff
+ SUBDIR += xxdiff
+ SUBDIR += xxdiff-scripts
SUBDIR += y2l
SUBDIR += yali
SUBDIR += yaml-mode.el
diff --git a/textproc/xxdiff-scripts/Makefile b/textproc/xxdiff-scripts/Makefile
new file mode 100644
index 000000000000..6c6107f365d2
--- /dev/null
+++ b/textproc/xxdiff-scripts/Makefile
@@ -0,0 +1,20 @@
+PORTNAME= xxdiff
+CATEGORIES= textproc
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+PKGNAMESUFFIX= -scripts
+
+MAINTAINER= fuz@FreeBSD.org
+COMMENT= Helper scripts for xxdiff
+WWW= http://furius.ca/xxdiff/doc/xxdiff-scripts.html
+
+LICENSE= GPLv2
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+RUN_DEPENDS= xxdiff:textproc/xxdiff
+
+USES= python
+USE_PYTHON= autoplist distutils
+PYDISTUTILS_PKGNAME= xxdiff-scripts
+MASTERDIR= ${.CURDIR}/../xxdiff
+
+.include "${MASTERDIR}/Makefile.master"
diff --git a/textproc/xxdiff-scripts/pkg-descr b/textproc/xxdiff-scripts/pkg-descr
new file mode 100644
index 000000000000..97ec74448441
--- /dev/null
+++ b/textproc/xxdiff-scripts/pkg-descr
@@ -0,0 +1,13 @@
+xxdiff is a computer program that allows a user (usually a software
+developer of some sort) to easily visualize the differences between
+files. The manner and goal for which this process is applied over
+multiple files is highly dependent on the application, and most of
+the time is driven by custom user scripts.
+
+For example, a configuration management engineer in a company might
+provide some kind of merge policing environment, that allows software
+developers to review changes in files for the purpose of accepting or
+rejecting a submitted changeset to a codebase. Another example is
+that of a developer wishing to review the changes he made to a
+checkout of files from a source-code management system such as CVS,
+Subversion, ClearCase, Perforce, etc.
diff --git a/textproc/xxdiff/Makefile b/textproc/xxdiff/Makefile
new file mode 100644
index 000000000000..762024a6dd6b
--- /dev/null
+++ b/textproc/xxdiff/Makefile
@@ -0,0 +1,45 @@
+PORTNAME= xxdiff
+CATEGORIES= textproc
+
+MAINTAINER= fuz@FreeBSD.org
+COMMENT= Graphical file and directories comparator and merge tool
+WWW= http://furius.ca/xxdiff/
+
+LICENSE= GPLv2
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+FLAVOR?= ${FLAVORS:[1]}
+FLAVORS= qt5 qt6
+qt5_PKGNAMEPREFIX= qt5-
+qt6_PKGNAMEPREFIX= qt6-
+
+USES= bison gl gmake
+USE_GL= gl
+
+.if ${FLAVOR} == qt5
+USES+= qt:5
+USE_QT= core gui buildtools:build qmake:build widgets
+.else
+USES+= qt:6
+USE_QT= base
+.endif
+
+BUILD_WRKSRC= ${WRKSRC}/src
+
+PLIST_FILES= bin/xxdiff
+PORTDOCS= *
+
+OPTIONS_DEFINE= DOCS
+
+pre-build:
+ @(cd ${BUILD_WRKSRC} && ${SETENV} ${MAKE_ENV} QMAKE=${QMAKE} \
+ ${MAKE_CMD} -f Makefile.bootstrap ${MAKE_ARGS} Makefile)
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/bin/xxdiff ${STAGEDIR}${PREFIX}/bin
+
+do-install-DOCS-on:
+ cd ${WRKSRC}/doc && ${COPYTREE_SHARE} "${PORTDOCS} ! -name Makefile" \
+ ${STAGEDIR}/${DOCSDIR}
+
+.include "Makefile.master"
diff --git a/textproc/xxdiff/Makefile.master b/textproc/xxdiff/Makefile.master
new file mode 100644
index 000000000000..a51495b3ffd3
--- /dev/null
+++ b/textproc/xxdiff/Makefile.master
@@ -0,0 +1,10 @@
+PORTVERSION= g20250320
+PORTEPOCH= 1
+
+USE_GITHUB= yes
+GH_ACCOUNT= blais
+GH_TAGNAME= a5593c1c675fb79d0ec2b6e353abba1fb0179aa7
+
+DESCR= ${.CURDIR}/pkg-descr
+
+.include <bsd.port.mk>
diff --git a/textproc/xxdiff/distinfo b/textproc/xxdiff/distinfo
new file mode 100644
index 000000000000..196a6b26ae08
--- /dev/null
+++ b/textproc/xxdiff/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1751631586
+SHA256 (blais-xxdiff-g20250320-a5593c1c675fb79d0ec2b6e353abba1fb0179aa7_GH0.tar.gz) = 11ac99e758b8cccc8ced208a69d7026c32a7b2a5a1f18fcce48521f8cb4d8c9c
+SIZE (blais-xxdiff-g20250320-a5593c1c675fb79d0ec2b6e353abba1fb0179aa7_GH0.tar.gz) = 2057252
diff --git a/textproc/xxdiff/pkg-descr b/textproc/xxdiff/pkg-descr
new file mode 100644
index 000000000000..cf257c7da0d0
--- /dev/null
+++ b/textproc/xxdiff/pkg-descr
@@ -0,0 +1,20 @@
+xxdiff is a graphical tool for viewing the differences between two or three
+files, or between two directories, and can produce a merged version thereof.
+
+Some of its features:
+
+ - Comparing two files, three files, or two directories (shallow and
+ recursive)
+ - Horizontal diffs highlighting
+ - Files can be merged interactively and resulting output visualized
+ and saved
+ - Has features to assist in performing merge reviews/policing
+ - Can unmerge CVS conflicts in automatically merged file and display
+ them as two files, to help resolve conflicts
+ - Uses external diff program to compute differences: works with GNU
+ diff, SGI diff and ClearCase's cleardiff, and any other diff whose
+ output is similar to those
+ - Fully customizable with a resource file
+ - Look-and-feel similar to Rudy Wortel's/SGI xdiff; it is desktop
+ agnostic (i.e. will work equally well with KDE or GNOME)
+ - Features and output that ease integration with scripts