Date: Fri, 06 Feb 2026 12:03:21 +0000 From: Joel Bodenmann <jbo@FreeBSD.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org Subject: git: b4649a299a45 - main - devel/nextpnr-devel: Add new port Message-ID: <6985d889.23dab.4591ff31@gitrepo.freebsd.org>
index | next in thread | raw e-mail
The branch main has been updated by jbo: URL: https://cgit.FreeBSD.org/ports/commit/?id=b4649a299a451c6857ab2fe0d5cbb85b5c3f062e commit b4649a299a451c6857ab2fe0d5cbb85b5c3f062e Author: Joel Bodenmann <jbo@FreeBSD.org> AuthorDate: 2026-02-06 11:03:19 +0000 Commit: Joel Bodenmann <jbo@FreeBSD.org> CommitDate: 2026-02-06 11:03:19 +0000 devel/nextpnr-devel: Add new port This is a version of the existing devel/nextpnr port tracking the upstream master branch as actual releases happen rarely and most users outside of FreeBSD use the shell script based oss-cad-suite to build/install nextpnr. --- devel/Makefile | 1 + devel/nextpnr-devel/Makefile | 49 ++++++++++++++++++++++ devel/nextpnr-devel/distinfo | 5 +++ devel/nextpnr-devel/files/patch-bba_CMakeLists.txt | 10 +++++ devel/nextpnr-devel/pkg-descr | 12 ++++++ 5 files changed, 77 insertions(+) diff --git a/devel/Makefile b/devel/Makefile index 7c715185f94d..e5e709b48a7c 100644 --- a/devel/Makefile +++ b/devel/Makefile @@ -1717,6 +1717,7 @@ SUBDIR += newtonsoft-json SUBDIR += nextest SUBDIR += nextpnr + SUBDIR += nextpnr-devel SUBDIR += nexus2-oss SUBDIR += nimble SUBDIR += nini diff --git a/devel/nextpnr-devel/Makefile b/devel/nextpnr-devel/Makefile new file mode 100644 index 000000000000..45077112a721 --- /dev/null +++ b/devel/nextpnr-devel/Makefile @@ -0,0 +1,49 @@ +PORTNAME= nextpnr +PORTVERSION= g20250126 +CATEGORIES= devel +PKGNAMESUFFIX= -devel + +MAINTAINER= jbo@FreeBSD.org +COMMENT= Portable FPGA place and route tool +WWW= https://github.com/YosysHQ/nextpnr + +LICENSE= ISCL +LICENSE_FILE= ${WRKSRC}/COPYING + +NOT_FOR_ARCHS= i386 +NOT_FOR_ARCHS_REASON= clang segfault + +BUILD_DEPENDS= ${LOCALBASE}/share/trellis/database:devel/trellis \ + ${LOCALBASE}/share/icebox:devel/icestorm +LIB_DEPENDS= libboost_thread.so:devel/boost-libs \ + libboost_program_options.so:devel/boost-libs + +USES= compiler:c++17-lang cmake llvm:min=20 qt:6 eigen:3 python +USE_QT= base +USE_GITHUB= yes +GH_ACCOUNT= YosysHQ +GH_TUPLE= YosysHQ:nextpnr-tests:ce15412:tests/tests +GH_TAGNAME= 8c6278170be1df71a6224110f0b8d5997740fc1e + +CONFLICTS_INSTALL= nextpnr + +BINARY_ALIAS= python3=${PYTHON_CMD} + +CMAKE_ARGS= -DARCH="ice40;ecp5" \ + -DTRELLIS_ROOT=${LOCALBASE}/share/trellis/ +CMAKE_OFF= BUILD_GUI + +PLIST_FILES= bin/nextpnr-ecp5 \ + bin/nextpnr-ice40 + +# Don't create __pycache__ directory when executing blueprint-compiler +# This is a workaround to avoid filesystem violations during poudriere build +MAKE_ENV= PYTHONDONTWRITEBYTECODE=1 + +.if exists(/usr/include/omp.h) +CMAKE_ON+= USE_OPENMP +.else +CMAKE_OFF+= USE_OPENMP +.endif + +.include <bsd.port.mk> diff --git a/devel/nextpnr-devel/distinfo b/devel/nextpnr-devel/distinfo new file mode 100644 index 000000000000..8d04bde102d7 --- /dev/null +++ b/devel/nextpnr-devel/distinfo @@ -0,0 +1,5 @@ +TIMESTAMP = 1769633406 +SHA256 (YosysHQ-nextpnr-g20250126-8c6278170be1df71a6224110f0b8d5997740fc1e_GH0.tar.gz) = bca205576b1cac32788120e2bcaf01c38dd18e097605ba2ab80bf6c23df459d6 +SIZE (YosysHQ-nextpnr-g20250126-8c6278170be1df71a6224110f0b8d5997740fc1e_GH0.tar.gz) = 3489559 +SHA256 (YosysHQ-nextpnr-tests-ce15412_GH0.tar.gz) = 84b7e926d97ce1aae3a2b9115b9030fce483a8b6d8b6cde060046a93f24966fe +SIZE (YosysHQ-nextpnr-tests-ce15412_GH0.tar.gz) = 1032708 diff --git a/devel/nextpnr-devel/files/patch-bba_CMakeLists.txt b/devel/nextpnr-devel/files/patch-bba_CMakeLists.txt new file mode 100644 index 000000000000..978f75d91170 --- /dev/null +++ b/devel/nextpnr-devel/files/patch-bba_CMakeLists.txt @@ -0,0 +1,10 @@ +--- bba/CMakeLists.txt.orig 2026-01-28 22:36:11 UTC ++++ bba/CMakeLists.txt +@@ -9,5 +9,6 @@ target_link_libraries(bbasm LINK_PRIVATE + add_executable(bbasm + main.cc) + target_link_libraries(bbasm LINK_PRIVATE +- ${Boost_PROGRAM_OPTIONS_LIBRARY}) ++ ${Boost_PROGRAM_OPTIONS_LIBRARY} ++ Boost::program_options) + export(TARGETS bbasm FILE ${CMAKE_BINARY_DIR}/bba-export.cmake) diff --git a/devel/nextpnr-devel/pkg-descr b/devel/nextpnr-devel/pkg-descr new file mode 100644 index 000000000000..d132ad330118 --- /dev/null +++ b/devel/nextpnr-devel/pkg-descr @@ -0,0 +1,12 @@ +nextpnr aims to be a vendor neutral, timing driven, +FOSS FPGA place and route tool. + +Currently nextpnr supports: + - Lattice iCE40 devices supported by Project IceStorm + - Lattice ECP5 devices supported by Project Trellis + - Lattice Nexus devices supported by Project Oxide + - Gowin LittleBee devices supported by Project Apicula + - NanoXplore NG-Ultra devices supported by Project Beyond + - (experimental) Cyclone V devices supported by Mistral + - (experimental) Lattice MachXO2 devices supported by Project Trellis + - (experimental) a "generic" back-end for user-defined architectureshome | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6985d889.23dab.4591ff31>
