# $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"