Please find the update to my port cad/nextpnr as a patch to the OpenBSD
ports repo.
It includes the little touch-ups Stu mentioned in his last email to me.
Again, I would like to point out that it includes a small note inside
the Makefile, mentioning the non-standard amount of memory needed to be
able to successfully build it as root. (8 GB, as opposed to 4 GB).
On 6/13/26 23:07, Thomas Dettbarn wrote:
Please find new port cad/nextpnr attached to this email. (In the form
of a git
diff).
Please disregard the attachments to my previous emails, this is the one I
would like to release to the ports tree of OpenBSD. Thus far, the only
thing
I can say with confidence is that ItWorksOnMyMachine(tm).
In response to Stuarts comments, which you can find in this email:
https://marc.info/?l=openbsd-ports&m=178098714515769&w=2
I have decided to keep the text about the memory usage inside the
Makefile,
albeit making it a less severe one by turning it onto a "Note", rather
than
a warning.
In total, I plan on sending four ports over this email list:
cad/prjpeppercorn-1.13
cad/nextpnr-0.10pl20260613
cad/openfpgaloader-1.1.1pl20260604
cad/yosys-takeover-0.66pl20260612 ... this one needs a better name.
(See its
accompanying email for details).
In lieu of a proper method of checking, I have set up a website with a
simple
helloworld style example: https://dettus.net/fpga_stuff/1.html. Even
if you
do not have a physical FPGA board at home, the instructions might give
you an
idea about how the tools are supposed to work together.
So, please have another review. Thank you so so much!
diff --git a/cad/nextpnr/Makefile b/cad/nextpnr/Makefile
new file mode 100644
index 00000000000..65be965dbd5
--- /dev/null
+++ b/cad/nextpnr/Makefile
@@ -0,0 +1,49 @@
+######################################################
+## NOTE: Though not recommended, building this port ##
+## as root requires the available datasize to ##
+## be increased in /etc/login.conf. Without ##
+## setting daemon:datasize=8192M, the build ##
+## process will fail with a MemoryError. ##
+######################################################
+
+COMMENT= portable FPGA place and route tool
+CATEGORIES= cad
+V= 0.10pl20260613
+DISTNAME= nextpnr-${V}
+
+GH_ACCOUNT= YosysHQ
+GH_PROJECT= nextpnr
+GH_COMMIT= 2dfdba6efc7559ad44ba4f1842af8c629596ea4a
+
+HOMEPAGE= https://github.com/YosysHQ/nextpnr
+MAINTAINER= Thomas Dettbarn <[email protected]>
+
+# ISC License
+PERMIT_PACKAGE= yes
+
+WANTLIB= c ${COMPILER_LIBCXX} m util pthread z
+WANTLIB+= boost_atomic-mt boost_chrono-mt boost_container-mt
+WANTLIB+= boost_date_time-mt boost_iostreams-mt boost_program_options-mt
+WANTLIB+= boost_random-mt boost_regex-mt boost_thread-mt python3.13
+
+MODULES= devel/cmake
+MODULES+= lang/python
+
+LIB_DEPENDS= archivers/bzip2
+LIB_DEPENDS+= converters/libiconv
+LIB_DEPENDS+= devel/boost
+LIB_DEPENDS+= devel/gettext
+LIB_DEPENDS+= lang/python/3
+LIB_DEPENDS+= textproc/icu4c
+
+BUILD_DEPENDS= cad/prjpeppercorn
+BUILD_DEPENDS+= math/eigen3
+
+CONFIGURE_ARGS= -DARCH="generic;himbaechel" \
+ -DHIMBAECHEL_UARCH="gatemate" \
+ -DHIMBAECHEL_PEPPERCORN_PATH=/usr/local/share/prjpeppercorn/1.13
+
+NO_TEST= Yes
+
+.include <bsd.port.mk>
+
diff --git a/cad/nextpnr/distinfo b/cad/nextpnr/distinfo
new file mode 100644
index 00000000000..bd28a8e299e
--- /dev/null
+++ b/cad/nextpnr/distinfo
@@ -0,0 +1,2 @@
+SHA256 (nextpnr-0.10pl20260613-2dfdba6e.tar.gz) = s3IXalZcEZj7+nRjxVA2A7kWYBjiK7PcOb/lT1QpqVs=
+SIZE (nextpnr-0.10pl20260613-2dfdba6e.tar.gz) = 3525133
diff --git a/cad/nextpnr/pkg/DESCR b/cad/nextpnr/pkg/DESCR
new file mode 100644
index 00000000000..217791fd790
--- /dev/null
+++ b/cad/nextpnr/pkg/DESCR
@@ -0,0 +1,2 @@
+nextpnr aims to be a vendor neutral, timing driven, FOSS FPGA place and
+route tool.
diff --git a/cad/nextpnr/pkg/PLIST b/cad/nextpnr/pkg/PLIST
new file mode 100644
index 00000000000..63fd94f8a9c
--- /dev/null
+++ b/cad/nextpnr/pkg/PLIST
@@ -0,0 +1,7 @@
+@bin bin/nextpnr-generic
+@bin bin/nextpnr-himbaechel
+share/nextpnr/
+share/nextpnr/himbaechel/
+share/nextpnr/himbaechel/gatemate/
+share/nextpnr/himbaechel/gatemate/chipdb-CCGM1A1.bin
+share/nextpnr/himbaechel/gatemate/chipdb-CCGM1A2.bin