diff --git a/cad/ghdl/Makefile b/cad/ghdl/Makefile index abb1defb2bc5..cdbb15775212 100644 --- a/cad/ghdl/Makefile +++ b/cad/ghdl/Makefile @@ -1,61 +1,63 @@ PORTNAME= ghdl DISTVERSIONPREFIX= v DISTVERSION= 5.0.1 +PORTREVISION= 1 CATEGORIES= cad MAINTAINER= yuri@FreeBSD.org COMMENT= GNU VHDL simulator WWW= https://github.com/ghdl/ghdl LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/COPYING.md BROKEN_aarch64= build breaks, see https://github.com/ghdl/ghdl/issues/2639 TEST_DEPENDS= bash:shells/bash \ ${PYTHON_PKGNAMEPREFIX}pyTooling>=2.11.0:devel/py-pyTooling@${PY_FLAVOR} USES= ada:run gmake python:test shebangfix SHEBANG_FILES= testsuite/testsuite.sh USE_LDCONFIG= yes +NO_SHLIB_REQUIRES_GLOB= libgnat-12.so USE_GITHUB= yes GNU_CONFIGURE= yes OPTIONS_DEFINE= SYNTH OPTIONS_SINGLE= BACKEND OPTIONS_SINGLE_BACKEND= MCODE LLVM OPTIONS_DEFAULT= LLVM SYNTH OPTIONS_SUB= yes MCODE_DESC= Use the MCODE backend # MCODE is enabled by default and doesn't require any configuration options LLVM_USES= llvm:15,lib ncurses LLVM_CONFIGURE_ON= --with-llvm-config=${LOCALBASE}/bin/llvm-config${LLVM_VERSION} SYNTH_DESC= Enable Synthesis Features in ghdl SYNTH_CONFIGURE_ON= --enable-synth post-install: @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libghdl-${DISTVERSION:S/./_/g}.so post-install-MCODE-on: @${STRIP_CMD} \ ${STAGEDIR}${PREFIX}/bin/ghdl \ ${STAGEDIR}${PREFIX}/lib/libghdlvpi.so post-install-LLVM-on: @${STRIP_CMD} \ ${STAGEDIR}${PREFIX}/bin/ghdl \ ${STAGEDIR}${PREFIX}/bin/ghwdump \ ${STAGEDIR}${PREFIX}/bin/ghdl1-llvm \ ${STAGEDIR}${PREFIX}/lib/libghdlvpi.so \ ${STAGEDIR}${PREFIX}/lib/libghw.so do-test: @cd ${WRKSRC}/testsuite && \ ${SETENV} ${MAKE_ENV} GHDL=${STAGEDIR}${PREFIX}/bin/ghdl ${SH} testsuite.sh .include diff --git a/cad/ghdl/files/patch-Makefile.in b/cad/ghdl/files/patch-Makefile.in new file mode 100644 index 000000000000..846a95e7c625 --- /dev/null +++ b/cad/ghdl/files/patch-Makefile.in @@ -0,0 +1,13 @@ +Allow setting rpath to libgnat-12.so, because it isn't added to ldconfig directories. + +--- Makefile.in.orig 2025-03-01 16:49:42 UTC ++++ Makefile.in +@@ -485,7 +485,7 @@ lib/$(libghdl_name): $(GRT_SRC_DEPS) $(LIBGHDL_GRT_OBJ + lib/$(libghdl_name): $(GRT_SRC_DEPS) $(LIBGHDL_GRT_OBJS) version.ads force + # Use -g for gnatlink so that the binder file is not removed. We need + # it for libghdl.a +- $(GNATMAKE) -I- -aI. -D pic -z libghdl -o $@ -gnat12 $(GNATFLAGS) $(PIC_FLAGS) $(LIBGHDL_INCFLAGS) -bargs -shared -Llibghdl_ -largs -R -g -shared $(SHLIB_FLAGS) $(filter-out -static,$(LDFLAGS)) $(LIBGHDL_GRT_OBJS) ++ $(GNATMAKE) -I- -aI. -D pic -z libghdl -o $@ -gnat12 $(GNATFLAGS) $(PIC_FLAGS) $(LIBGHDL_INCFLAGS) -bargs -shared -Llibghdl_ -largs -g -shared $(SHLIB_FLAGS) $(filter-out -static,$(LDFLAGS)) $(LIBGHDL_GRT_OBJS) + # On windows, gnatmake (via Osint.Executable_Name) always appends .exe + # Adjust. (Other solution: use gnatmake for compilation and binding, + # then use gnatlink directly for linking).