Index | Thread | Search

From:
Thomas Dettbarn <dettus@dettus.net>
Subject:
New port 1/4: cad/prjpeppercorn-1.13
To:
ports@openbsd.org
Date:
Sat, 13 Jun 2026 23:07:39 +0200

Download raw body.

Thread
  • Thomas Dettbarn:

    New port 1/4: cad/prjpeppercorn-1.13

Please find new port cad/prjpeppercorn 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 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/prjpeppercorn/Makefile b/cad/prjpeppercorn/Makefile
new file mode 100644
index 00000000000..192bcd31da4
--- /dev/null
+++ b/cad/prjpeppercorn/Makefile
@@ -0,0 +1,37 @@
+COMMENT=	GateMate FPGAs Bitstream Documentation and Tools
+CATEGORIES=	cad
+V=		1.13
+DISTNAME=	prjpeppercorn-${V}
+SHAREDIR=	prjpeppercorn/${V}
+
+GH_ACCOUNT=	YosysHQ
+GH_PROJECT=	prjpeppercorn
+GH_TAGNAME=	v${V}
+
+HOMEPAGE=	https://github.com/YosysHQ/prjpeppercorn
+MAINTAINER=	Thomas Dettbarn <dettus@dettus.net>
+
+# ISC License
+PERMIT_PACKAGE=	yes
+
+WANTLIB=	c
+MODULES=	devel/cmake
+NO_TEST=	Yes
+
+LIB_DEPENDS=	devel/boost
+WRKSRC=		${WRKDIST}/libgm
+
+do-install:
+		${INSTALL_PROGRAM} ${WRKBUILD}/gmpack ${PREFIX}/bin/
+		${INSTALL_PROGRAM} ${WRKBUILD}/gmunpack  ${PREFIX}/bin/
+		${INSTALL_DATA_DIR} ${PREFIX}/share/${SHAREDIR}/gatemate/
+		${INSTALL_DATA_DIR} ${PREFIX}/share/${SHAREDIR}/delay/
+		${INSTALL_DATA} ${WRKDIST}/gatemate/* ${PREFIX}/share/${SHAREDIR}/gatemate/
+		${INSTALL_PROGRAM} ${WRKDIST}/delay.sh ${PREFIX}/share/${SHAREDIR}/
+		${INSTALL_DATA} ${WRKDIST}/delay/* ${PREFIX}/share/${SHAREDIR}/delay/
+		${INSTALL_PROGRAM} ${WRKDIST}/decompress.py ${PREFIX}/share/${SHAREDIR}/
+		
+
+
+.include <bsd.port.mk>
+
diff --git a/cad/prjpeppercorn/distinfo b/cad/prjpeppercorn/distinfo
new file mode 100644
index 00000000000..7895716657b
--- /dev/null
+++ b/cad/prjpeppercorn/distinfo
@@ -0,0 +1,2 @@
+SHA256 (prjpeppercorn-1.13.tar.gz) = FHiAxUCPGhY3JyO0C7kEIxrOzUk+4/kNst81rbOb6Cw=
+SIZE (prjpeppercorn-1.13.tar.gz) = 5718234
diff --git a/cad/prjpeppercorn/patches/patch-libgm_CMakeLists_txt b/cad/prjpeppercorn/patches/patch-libgm_CMakeLists_txt
new file mode 100644
index 00000000000..68275165320
--- /dev/null
+++ b/cad/prjpeppercorn/patches/patch-libgm_CMakeLists_txt
@@ -0,0 +1,21 @@
+Unnecessary dependency to .git
+Index: libgm/CMakeLists.txt
+--- libgm/CMakeLists.txt.orig
++++ libgm/CMakeLists.txt
+@@ -88,7 +88,8 @@ string(STRIP "${CURRENT_GIT_VERSION}" CURRENT_GIT_VERS
+ if (EXISTS "${CMAKE_BINARY_DIR}/generated/last_git_version")
+     file(READ "${CMAKE_BINARY_DIR}/generated/last_git_version" LAST_GIT_VERSION)
+ endif()
+-if (NOT ("${LAST_GIT_VERSION}" STREQUAL "${CURRENT_GIT_VERSION}") OR NOT GIT_EXECUTABLE)
++#if (NOT ("${LAST_GIT_VERSION}" STREQUAL "${CURRENT_GIT_VERSION}") OR NOT GIT_EXECUTABLE)
++if (TRUE)
+     configure_file(
+       ${CMAKE_SOURCE_DIR}/tools/version.cpp.in
+       ${CMAKE_BINARY_DIR}/generated/version.cpp
+@@ -132,4 +133,4 @@ add_custom_target(
+     -style=file
+     -i
+     ${CLANGFORMAT_FILES}
+-)
+\ No newline at end of file
++)
diff --git a/cad/prjpeppercorn/pkg/DESCR b/cad/prjpeppercorn/pkg/DESCR
new file mode 100644
index 00000000000..915426b01bb
--- /dev/null
+++ b/cad/prjpeppercorn/pkg/DESCR
@@ -0,0 +1 @@
+GateMate FPGAs Bitstream Documentation and Tools
diff --git a/cad/prjpeppercorn/pkg/PLIST b/cad/prjpeppercorn/pkg/PLIST
new file mode 100644
index 00000000000..f1a890460ff
--- /dev/null
+++ b/cad/prjpeppercorn/pkg/PLIST
@@ -0,0 +1,21 @@
+@bin bin/gmpack
+@bin bin/gmunpack
+share/prjpeppercorn/
+share/prjpeppercorn/1.13/
+share/prjpeppercorn/1.13/decompress.py
+share/prjpeppercorn/1.13/delay/
+share/prjpeppercorn/1.13/delay.sh
+share/prjpeppercorn/1.13/delay/cc_best_eco_dly.dly
+share/prjpeppercorn/1.13/delay/cc_best_lpr_dly.dly
+share/prjpeppercorn/1.13/delay/cc_best_spd_dly.dly
+share/prjpeppercorn/1.13/delay/cc_typ_eco_dly.dly
+share/prjpeppercorn/1.13/delay/cc_typ_lpr_dly.dly
+share/prjpeppercorn/1.13/delay/cc_typ_spd_dly.dly
+share/prjpeppercorn/1.13/delay/cc_worst_eco_dly.dly
+share/prjpeppercorn/1.13/delay/cc_worst_lpr_dly.dly
+share/prjpeppercorn/1.13/delay/cc_worst_spd_dly.dly
+share/prjpeppercorn/1.13/gatemate/
+share/prjpeppercorn/1.13/gatemate/__init__.py
+share/prjpeppercorn/1.13/gatemate/chip.py
+share/prjpeppercorn/1.13/gatemate/die.py
+share/prjpeppercorn/1.13/gatemate/timing.py