summaryrefslogtreecommitdiff
path: root/devel/radicle/Makefile
blob: 781be9284dc30062e1c08520d9ff66fbe9321d5a (plain) (blame)
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
PORTNAME=	radicle
DISTVERSION=	1.4.0
CATEGORIES=	devel
MASTER_SITES=	https://distfiles.pirateparty.in/ashish/:sources \
		LOCAL/ashish:sources
DISTFILES=	${DISTNAME}.tar.gz:sources

MAINTAINER=	ashish@FreeBSD.org
COMMENT=	Sovereign code forge built on Git
WWW=		https://radicle.xyz/

LICENSE=	APACHE20 MIT
LICENSE_COMB=	dual
LICENSE_FILE_MIT=	${WRKSRC}/LICENSE-MIT
LICENSE_FILE_APACHE20=	${WRKSRC}/LICENSE-APACHE

OPTIONS_DEFINE=		DOCS
OPTIONS_DEFAULT=	DOCS

GIT_HEAD=	bbd1e2cff60cb8086617251adc0c41d0847fe303

USES=			cargo
CARGO_INSTALL_PATH=	crates/radicle-cli crates/radicle-remote-helper \
			crates/radicle-node
CARGO_ENV=		GIT_HEAD=${GIT_HEAD} \
			RADICLE_VERSION=${DISTVERSION} \
			SOURCE_DATE_EPOCH=1756995139
PLIST_FILES=		bin/git-remote-rad \
			bin/rad \
			bin/radicle-node

DOCS_BUILD_DEPENDS=	asciidoctor:textproc/rubygem-asciidoctor
DOCS_PLIST_FILES=	share/man/man1/git-remote-rad.1.gz \
			share/man/man1/rad-id.1.gz \
			share/man/man1/rad-patch.1.gz \
			share/man/man1/rad.1.gz \
			share/man/man1/radicle-node.1.gz

# courtesy: https://reproducible-builds.org/docs/archives/
generate-tarball:
	git clone https://seed.radicle.xyz/z3gqcJUoA1n9HaHKufZs5FCSGazv5.git ${PORTNAME}
	${RM} -rf ${DISTNAME}
	cd ${PORTNAME} && git archive --format tar --prefix ${DISTNAME}/ \
		${GIT_HEAD} | ${TAR} xf - -C ../
	${FIND} ${DISTNAME} -print0 | \
	     ${XARGS} -0r ${TOUCH} -d '1970-01-01T00:00:00Z'
	${FIND} ${DISTNAME} -print0 | LC_ALL=C ${SORT} -z | \
		sudo ${TAR} --owner=0 --group=0 --numeric-owner --no-recursion \
		--null -T - -cf - ${DISTNAME} | \
		${GZIP_CMD} -9n >${DISTNAME}.tar.gz
	git -C ${PORTNAME} log -1 --pretty=%ct HEAD
	${RM} -rf ${PORTNAME} ${DISTNAME}

post-build-DOCS-on:
	cd ${WRKSRC} && scripts/build-man-pages.sh . *.adoc

post-install-DOCS-on:
	${MKDIR} ${STAGEDIR}${PREFIX}/share/man/man1
.for MANPAGE in ${DOCS_PLIST_FILES:T}
	${INSTALL_MAN} ${WRKSRC}/${MANPAGE:S/.gz//} ${STAGEDIR}${PREFIX}/share/man/man1
.endfor

.include <bsd.port.mk>