Mon Jul 6 15:27:19 2020 UTC ()
Add Leah Neukirchen's implementation of DJB's redo build system in
portable C with zero dependencies.


(schmonz)
diff -r0 -r1.1 pkgsrc/devel/leahneukirchen-redo/ALTERNATIVES
diff -r0 -r1.1 pkgsrc/devel/leahneukirchen-redo/DESCR
diff -r0 -r1.1 pkgsrc/devel/leahneukirchen-redo/Makefile
diff -r0 -r1.1 pkgsrc/devel/leahneukirchen-redo/PLIST
diff -r0 -r1.1 pkgsrc/devel/leahneukirchen-redo/distinfo
diff -r0 -r1.1 pkgsrc/devel/leahneukirchen-redo/patches/patch-redo.c

File Added: pkgsrc/devel/leahneukirchen-redo/ALTERNATIVES
bin/redo @PREFIX@/bin/leahneukirchen-redo
bin/redo-always @PREFIX@/bin/leahneukirchen-redo-always
bin/redo-ifchange @PREFIX@/bin/leahneukirchen-redo-ifchange
bin/redo-ifcreate @PREFIX@/bin/leahneukirchen-redo-ifcreate

File Added: pkgsrc/devel/leahneukirchen-redo/DESCR
redo-c is an implementation of DJB's redo build system in portable C
with zero dependencies.

File Added: pkgsrc/devel/leahneukirchen-redo/Makefile
# $NetBSD: Makefile,v 1.1 2020/07/06 15:27:19 schmonz Exp $

GITHUB_PROJECT=		redo-c
GITHUB_TAG=		v0.2
DISTNAME=		v0.2
PKGNAME=		leahneukirchen-redo-${DISTNAME:S,^v,,}
CATEGORIES=		devel
MASTER_SITES=		${MASTER_SITE_GITHUB:=leahneukirchen/}
DIST_SUBDIR=		${GITHUB_PROJECT}

MAINTAINER=		schmonz@NetBSD.org
HOMEPAGE=		https://github.com/leahneukirchen/redo-c/
COMMENT=		Redo build system implemented in portable C
LICENSE=		public-domain

WRKSRC=			${WRKDIR}/redo-c-0.2

INSTALLATION_DIRS=	bin share/doc/${PKGBASE}

do-build:
	cd ${WRKSRC}; \
	cc -Wall -Wextra -Wwrite-strings -o redo redo.c

do-install:
	${INSTALL_PROGRAM} ${WRKSRC}/redo ${DESTDIR}${PREFIX}/bin
	cd ${DESTDIR}${PREFIX}/bin; sh ${WRKSRC}/links.do; \
	for i in *; do mv $${i} leahneukirchen-$${i}; done
	${INSTALL_DATA} ${WRKSRC}/NOTES ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}

.include "../../mk/bsd.pkg.mk"

File Added: pkgsrc/devel/leahneukirchen-redo/PLIST
@comment $NetBSD: PLIST,v 1.1 2020/07/06 15:27:19 schmonz Exp $
bin/leahneukirchen-redo
bin/leahneukirchen-redo-always
bin/leahneukirchen-redo-ifchange
bin/leahneukirchen-redo-ifcreate
share/doc/leahneukirchen-redo/NOTES

File Added: pkgsrc/devel/leahneukirchen-redo/distinfo
$NetBSD: distinfo,v 1.1 2020/07/06 15:27:19 schmonz Exp $

SHA1 (redo-c/v0.2.tar.gz) = 1c7ea152b8839abde63b32b39aaa76aeb16aa7d3
RMD160 (redo-c/v0.2.tar.gz) = 40f2ef804d31fdba636eaf3e2ce55b81561d8d76
SHA512 (redo-c/v0.2.tar.gz) = 7547625d3536bf875b34f05acdbed825d3a6915e62f4d504360c4bfcfd41506f197712f7bbc90fa7d5d50e87eddb6cb37bf27e39e105238406abe617600e0c4f
Size (redo-c/v0.2.tar.gz) = 7673 bytes
SHA1 (patch-redo.c) = 96e794071dc06bfc6efae27fc955b00c1b39326f

File Added: pkgsrc/devel/leahneukirchen-redo/patches/patch-redo.c
$NetBSD: patch-redo.c,v 1.1 2020/07/06 15:27:19 schmonz Exp $

Avoid CONFLICTS with other redo implementations.

--- redo.c.orig	2018-07-08 21:49:57.000000000 +0000
+++ redo.c
@@ -974,20 +974,25 @@ main(int argc, char *argv[])
 
 	dir_fd = keepdir();
 
-	if (strcmp(program, "redo") == 0) {
+	if (strcmp(program, "redo") == 0
+	 || strcmp(program, "leahneukirchen-redo") == 0) {
 		fflag = 1;
 		redo_ifchange(argc, argv);
 		procure();
-	} else if (strcmp(program, "redo-ifchange") == 0) {
+	} else if (strcmp(program, "redo-ifchange") == 0
+					|| strcmp(program, "leahneukirchen-redo-ifchange") == 0) {
 		redo_ifchange(argc, argv);
 		record_deps(argc, argv);
 		procure();
-	} else if (strcmp(program, "redo-ifcreate") == 0) {
+	} else if (strcmp(program, "redo-ifcreate") == 0
+					|| strcmp(program, "leahneukirchen-redo-ifcreate") == 0) {
 		for (i = 0; i < argc; i++)
 			redo_ifcreate(dep_fd, argv[i]);
-	} else if (strcmp(program, "redo-always") == 0) {
+	} else if (strcmp(program, "redo-always") == 0
+					|| strcmp(program, "leahneukirchen-redo-always") == 0) {
 		dprintf(dep_fd, "!\n");
-	} else if (strcmp(program, "redo-hash") == 0) {
+	} else if (strcmp(program, "redo-hash") == 0
+					|| strcmp(program, "leahneukirchen-redo-hash") == 0) {
 		for (i = 0; i < argc; i++)
 			write_dep(1, argv[i]);
 	} else {