Skip to content
Permalink
Browse files

Initial import of Avery Pennarun's redo implementation.

redo is a competitor to the long-lived, but sadly imperfect, make
program. Unlike other such competitors, redo captures the essential
simplicity and flexibility of make, while avoiding its flaws. It manages
to do this while being simultaneously simpler than make, more flexible
than make, and more powerful than make, and without sacrificing
performance -- a rare combination of features.

The original design for redo comes from Daniel J. Bernstein. This
from-scratch implementation of redo is based on that design.
  • Loading branch information...
schmonz committed Jul 20, 2019
1 parent 757f3b2 commit 116219db2c52f20cd3ac4bbb1a3e9f86a941de0a
@@ -0,0 +1,9 @@
redo is a competitor to the long-lived, but sadly imperfect, make
program. Unlike other such competitors, redo captures the essential
simplicity and flexibility of make, while avoiding its flaws. It manages
to do this while being simultaneously simpler than make, more flexible
than make, and more powerful than make, and without sacrificing
performance -- a rare combination of features.

The original design for redo comes from Daniel J. Bernstein. This
from-scratch implementation of redo is based on that design.
@@ -0,0 +1,29 @@
# $NetBSD: Makefile,v 1.1 2019/07/20 21:17:11 schmonz Exp $

DISTNAME= redo-0.41
PKGNAME= apenwarr-${DISTNAME}
CATEGORIES= devel
MASTER_SITES= -https://codeload.github.com/apenwarr/redo/tar.gz/${DISTNAME}

MAINTAINER= schmonz@NetBSD.org
HOMEPAGE= https://github.com/apenwarr/redo/
COMMENT= Python implementation of DJB's redo build tool
LICENSE= apache-2.0

CONFLICTS+= jdebp-redo-[0-9]*

PYTHON_VERSIONS_ACCEPTED= 27

BUILD_DEPENDS+= ${PYPKGPREFIX}-beautifulsoup-[0-9]*:../../www/py-beautifulsoup
BUILD_DEPENDS+= ${PYPKGPREFIX}-markdown-[0-9]*:../../textproc/py-markdown

DEPENDS+= dash-[0-9]*:../../shells/dash
DEPENDS+= ${PYPKGPREFIX}-setproctitle-[0-9]*:../../sysutils/py-setproctitle
DEPENDS+= ${PYPKGPREFIX}-sqlite3-[0-9]*:../../databases/py-sqlite3

WRKSRC= ${WRKDIR}/redo-${DISTNAME}

INSTALL_ENV+= MANDIR=${DESTDIR}${PREFIX}/${PKGMANDIR}

.include "../../lang/python/application.mk"
.include "../../mk/bsd.pkg.mk"
@@ -0,0 +1,77 @@
@comment $NetBSD: PLIST,v 1.1 2019/07/20 21:17:11 schmonz Exp $
bin/redo
bin/redo-always
bin/redo-ifchange
bin/redo-ifcreate
bin/redo-log
bin/redo-ood
bin/redo-sh
bin/redo-sources
bin/redo-stamp
bin/redo-targets
bin/redo-unlocked
bin/redo-whichdo
lib/redo/__init__.py
lib/redo/__init__.pyc
lib/redo/atoi.py
lib/redo/atoi.pyc
lib/redo/builder.py
lib/redo/builder.pyc
lib/redo/cmd_always.py
lib/redo/cmd_always.pyc
lib/redo/cmd_ifchange.py
lib/redo/cmd_ifchange.pyc
lib/redo/cmd_ifcreate.py
lib/redo/cmd_ifcreate.pyc
lib/redo/cmd_log.py
lib/redo/cmd_log.pyc
lib/redo/cmd_ood.py
lib/redo/cmd_ood.pyc
lib/redo/cmd_redo.py
lib/redo/cmd_redo.pyc
lib/redo/cmd_sources.py
lib/redo/cmd_sources.pyc
lib/redo/cmd_stamp.py
lib/redo/cmd_stamp.pyc
lib/redo/cmd_targets.py
lib/redo/cmd_targets.pyc
lib/redo/cmd_unlocked.py
lib/redo/cmd_unlocked.pyc
lib/redo/cmd_whichdo.py
lib/redo/cmd_whichdo.pyc
lib/redo/cycles.py
lib/redo/cycles.pyc
lib/redo/deps.py
lib/redo/deps.pyc
lib/redo/env.py
lib/redo/env.pyc
lib/redo/helpers.py
lib/redo/helpers.pyc
lib/redo/jobserver.py
lib/redo/jobserver.pyc
lib/redo/logs.py
lib/redo/logs.pyc
lib/redo/options.py
lib/redo/options.pyc
lib/redo/paths.py
lib/redo/paths.pyc
lib/redo/sh
lib/redo/state.py
lib/redo/state.pyc
lib/redo/title.py
lib/redo/title.pyc
lib/redo/version/__init__.py
lib/redo/version/__init__.pyc
lib/redo/version/_version.py
lib/redo/version/_version.pyc
man/man1/redo-always.1
man/man1/redo-ifchange.1
man/man1/redo-ifcreate.1
man/man1/redo-log.1
man/man1/redo-ood.1
man/man1/redo-sources.1
man/man1/redo-stamp.1
man/man1/redo-targets.1
man/man1/redo-whichdo.1
man/man1/redo.1
share/doc/redo/README.md
@@ -0,0 +1,9 @@
$NetBSD: distinfo,v 1.1 2019/07/20 21:17:11 schmonz Exp $

SHA1 (redo-0.41.tar.gz) = 937655c5c4b2f912185f8876d88185bf3d6b7217
RMD160 (redo-0.41.tar.gz) = d3a22ef8ee7fda1b6899af035fb74322970afd9e
SHA512 (redo-0.41.tar.gz) = 94e4414a2f8120e5d4a949461734ed69dc2f39edfb7929d2efff83041ac0b941e037359ccfafcb4eff760608274e32c579df56d58fdb67b13b8a26eb1945b0d0
Size (redo-0.41.tar.gz) = 140167 bytes
SHA1 (patch-do) = 31a4413d57402fbdce1714bf8175c15cd277dcd2
SHA1 (patch-redo_sh.do) = 1b4871c04c9b73039920b4886eadc07e3b286691
SHA1 (patch-t_shelltest.od) = ca86299da6ae30b44a0e10cfe1a6ef30299dd0bc
@@ -0,0 +1,15 @@
$NetBSD: patch-do,v 1.1 2019/07/20 21:17:11 schmonz Exp $

Avoid spurious output.

--- do.orig 2019-01-02 19:49:33.000000000 +0000
+++ do
@@ -11,6 +11,8 @@
# redo itself does.
#

+unset CDPATH
+
die() {
echo "$0:" "$@" >&2
exit 42
@@ -0,0 +1,15 @@
$NetBSD: patch-redo_sh.do,v 1.1 2019/07/20 21:17:11 schmonz Exp $

Look for pkgsrc-provided dash.

--- redo/sh.do.orig 2019-01-02 19:49:33.000000000 +0000
+++ redo/sh.do
@@ -11,7 +11,7 @@ WARN=
# powerful ones. We want weaker shells to take precedence, as long as they
# pass the tests, because weaker shells are more likely to point out when you
# use some non-portable feature.
-for sh in dash /usr/xpg4/bin/sh ash posh \
+for sh in ${PREFIX}/bin/dash /usr/xpg4/bin/sh ash posh \
lksh mksh ksh ksh88 ksh93 pdksh \
zsh bash busybox /bin/sh; do
printf " %-22s" "$sh..."
@@ -0,0 +1,14 @@
$NetBSD: patch-t_shelltest.od,v 1.1 2019/07/20 21:17:11 schmonz Exp $

Avoid spurious output.

--- t/shelltest.od.orig 2019-01-02 19:49:33.000000000 +0000
+++ t/shelltest.od
@@ -14,6 +14,7 @@
#
exec >&2
set +e
+unset CDPATH

: ${SHELLTEST_QUIET:=}

0 comments on commit 116219d

Please sign in to comment.
You can’t perform that action at this time.