blob: 969ed855207acf74e567bbc51db7adc573cca891 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
# $NetBSD: Makefile,v 1.60 2022/06/30 11:18:49 nia Exp $
DISTNAME= bup-0.32
PKGREVISION= 5
CATEGORIES= sysutils
MASTER_SITES= ${MASTER_SITE_GITHUB:=bup/}
# bup has two problems that make packaging difficult. One is that
# building man pages requires non-portable tools (pandoc). The other
# is that it is hosted on github, which makes hosting tarballs
# difficult. The combination of this leads to having a branch "man"
# in bup's git which has autogenerated man pages. The third problem
# is that github.mk assumes that there is one distfile.
# (Note to future updating self) We would like to fetch the following files, e.g.:
# https://github.com/bup/bup/archive/0.30.tar.gz
# https://github.com/bup/bup/archive/28876cde4a3dac518e773860aa7969c106f5390d.tar.gz
# Upstream should have a tag, but doesn't.
# EXTRACT_SUFX default value is set too late, so using it in SITES.* fails.
EXTRACT_SUFX= .tar.gz
MAN_TAG= 2fe35faff1fb9c5e7b0ea357de371ac219f2cc38
MAN_UNPACK= bup-${MAN_TAG}
MAN_DISTFILE= bup-man-${MAN_TAG}${EXTRACT_SUFX}
SITES.${MAN_DISTFILE}= -${MASTER_SITE_GITHUB:=bup/bup/archive/}${MAN_TAG}${EXTRACT_SUFX}
# Upstream provides html, but we choose not to include it in the package.
#HTML_TAG= 66eccb7eb49575d006d193276018d9551ac5b4d4
DISTFILES= ${DEFAULT_DISTFILES} ${MAN_DISTFILE}
MAINTAINER= gdt@NetBSD.org
HOMEPAGE= https://github.com/bup/bup
COMMENT= Highly efficient file backup system based on the git packfile format
LICENSE= gnu-gpl-v2
USE_LANGUAGES= c
HAS_CONFIGURE= yes
# On macOS 10.13, building bup fails with defaults but builds with
# USE_CWRAPPERS=no. The error is
# Looking for cpp (/path/to/pkgsrc/sysutils/bup/work/.cwrapper/bin/cpp) (can't run cpp as a pipeline)
DEPENDS+= par2-[0-9]*:../../archivers/par2
DEPENDS+= ${PYPKGPREFIX}-tornado-[0-9]*:../../www/py-tornado
DEPENDS+= git-base-[0-9]*:../../devel/git-base
TEST_DEPENDS+= ${PYPKGPREFIX}-test-[0-9]*:../../devel/py-test
TEST_DEPENDS+= rsync-[0-9]*:../../net/rsync
PYTHON_VERSIONS_INCOMPATIBLE= 27 # py-tornado
DOCDIR= ${WRKDIR}/${MAN_UNPACK}
# Note that tests 1) will fail on a fs mounted noatime and 2) need a
# lot of space, perhaps 1 GB.
TEST_TARGET= test
MAKE_FLAGS+= PREFIX=${PREFIX}
MAKE_FLAGS+= PYTHON=${PYTHONBIN}
MAKE_FLAGS+= MANDIR=${DESTDIR}${PREFIX}/${PKGMANDIR}
# Even if converters/pandoc is installed, pretend as if it weren't.
MAKE_FLAGS+= PANDOC=
USE_TOOLS+= bash gmake perl:run
CONFIGURE_ENV+= MAKE=${TOOLS_PATH.gmake}
REPLACE_BASH+= cmd/import-rdiff-backup-cmd.sh
REPLACE_BASH+= t/compare-trees
REPLACE_BASH+= t/configure-sampledata
REPLACE_BASH+= t/force-delete
REPLACE_BASH+= t/subtree-hash
REPLACE_BASH+= t/test-cat-file.sh
REPLACE_BASH+= t/test-command-without-init-fails.sh
REPLACE_BASH+= t/test-index-check-device.sh
REPLACE_BASH+= t/test-meta.sh
REPLACE_BASH+= t/test-redundant-saves.sh
REPLACE_BASH+= t/test-restore-single-file.sh
REPLACE_BASH+= t/test-rm-between-index-and-save.sh
REPLACE_BASH+= t/test-save-creates-no-unrefs.sh
REPLACE_BASH+= t/test.sh
REPLACE_BASH+= wvtest-bup.sh
INSTALLATION_DIRS+= ${PKGMANDIR}/man1 share/doc/${PKGBASE}
post-install:
${INSTALL_DATA} ${DOCDIR}/*.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1
${INSTALL_DATA} ${WRKSRC}/DESIGN ${DESTDIR}${PREFIX}/share/doc/bup
${INSTALL_DATA} ${WRKSRC}/README ${DESTDIR}${PREFIX}/share/doc/bup
.include "options.mk"
# \todo Investigate "bup ftp" crash with NetBSD editline and resolve.
.include "../../devel/readline/buildlink3.mk"
.include "../../lang/python/application.mk"
.include "../../mk/bsd.pkg.mk"
|