mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-16 03:24:07 +00:00
c6f85bb00c
This release adds detection and handling of circular dependencies. Two users that tried replacing OpenSSL with LibreSSL found out that ftp/curl depends on itself when its built with GNUTLS. That's because Synth goes into an infinity dependency loop, runs out of stack space, and crashes. Now Synth can detect a circular dependency and abort gracefully and informatively, e.g. > synth status ftp/curl ftp/curl scan aborted because a circular dependency on ftp/curl was detected. ... backtrace devel/cmake ... backtrace emulators/tpm-emulator ... backtrace security/trousers ... backtrace security/gnutls ... backtrace ftp/curl While here, build synth with stack-checking on so out-of-stack situations result in an exception and not an illegal instruction crash.
52 lines
1.5 KiB
Makefile
52 lines
1.5 KiB
Makefile
# Created by: John Marino <marino@FreeBSD.org>
|
|
# $FreeBSD$
|
|
|
|
PORTNAME= synth
|
|
PORTVERSION= 1.41
|
|
DISTVERSIONPREFIX= v
|
|
CATEGORIES= ports-mgmt
|
|
|
|
MAINTAINER= marino@FreeBSD.org
|
|
COMMENT= Custom package repository builder for FreeBSD and DragonFly
|
|
|
|
LICENSE= ISCL
|
|
LICENSE_FILE= ${WRKSRC}/License.txt
|
|
|
|
BUILD_DEPENDS= ${GPR}/ini_file_manager.gpr:misc/ini_file_manager \
|
|
${GPR}/adacurses.gpr:devel/adacurses
|
|
|
|
USES= ada:6 ncurses:port
|
|
USE_GITHUB= yes
|
|
GH_ACCOUNT= jrmarino
|
|
|
|
GPR= ${LOCALBASE}/lib/gnat
|
|
|
|
post-extract:
|
|
@${REINPLACE_CMD} -e "s|/usr/local|${LOCALBASE}|" \
|
|
${WRKSRC}/src/definitions.ads
|
|
|
|
do-build:
|
|
(cd ${WRKSRC}/src && ${SETENV} ${MAKE_ENV} \
|
|
gcc -c unix_core.c -o ../build/unix_core.o)
|
|
(cd ${WRKSRC}/synthexec && ${SETENV} ${MAKE_ENV} \
|
|
gcc synthexec.c -o ../build/synthexec)
|
|
(cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} gnatmake -P default \
|
|
-largs build/unix_core.o)
|
|
|
|
do-install:
|
|
${MKDIR} ${STAGEDIR}${PREFIX}/etc/bash_completion.d \
|
|
${STAGEDIR}${PREFIX}/share/zsh/site-functions \
|
|
${STAGEDIR}/var/log/synth \
|
|
${STAGEDIR}/var/synth/live_packages
|
|
${INSTALL_PROGRAM} ${WRKSRC}/build/synth \
|
|
${STAGEDIR}${PREFIX}/bin
|
|
${INSTALL_PROGRAM} ${WRKSRC}/build/synthexec \
|
|
${STAGEDIR}${PREFIX}/libexec
|
|
${INSTALL_MAN} ${WRKSRC}/synth.1 ${STAGEDIR}${MANPREFIX}/man/man1
|
|
${INSTALL_SCRIPT} ${WRKSRC}/shell-completers/_synth.bash \
|
|
${STAGEDIR}${PREFIX}/etc/bash_completion.d
|
|
${INSTALL_DATA} ${WRKSRC}/shell-completers/_synth \
|
|
${STAGEDIR}${PREFIX}/share/zsh/site-functions
|
|
|
|
.include <bsd.port.mk>
|