pkgsrc-WIP-changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Add the nextpnr package from YosysHQ.
Module Name: pkgsrc-wip
Committed By: Lloyd Parkes <lloyd%must-have-coffee.gen.nz@localhost>
Pushed By: lloyd
Date: Sat Oct 29 14:08:47 2022 +1300
Changeset: 8fa6f4b2a6f823cdb52e1fe9d90b6b06889e1b3c
Added Files:
nextpnr/DESCR
nextpnr/Makefile
nextpnr/PLIST
nextpnr/distinfo
nextpnr/options.mk
Log Message:
Add the nextpnr package from YosysHQ.
To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=8fa6f4b2a6f823cdb52e1fe9d90b6b06889e1b3c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
diffstat:
nextpnr/DESCR | 17 ++++++++++++++++
nextpnr/Makefile | 43 ++++++++++++++++++++++++++++++++++++++++
nextpnr/PLIST | 4 ++++
nextpnr/distinfo | 5 +++++
nextpnr/options.mk | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
5 files changed, 126 insertions(+)
diffs:
diff --git a/nextpnr/DESCR b/nextpnr/DESCR
new file mode 100644
index 0000000000..943b4eaab7
--- /dev/null
+++ b/nextpnr/DESCR
@@ -0,0 +1,17 @@
+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
+* (experimental) Cyclone V devices supported by Mistral
+* (experimental) Lattice MachXO2 devices supported by Project Trellis
+* (experimental) a "generic" back-end for user-defined architectures
+
+There is some work in progress towards support for Xilinx devices but
+it is not upstream and not intended for end users at the present
+time. We hope to see more FPGA families supported in the future. We
+would love your help in developing this awesome new project!
diff --git a/nextpnr/Makefile b/nextpnr/Makefile
new file mode 100644
index 0000000000..da9d7c8151
--- /dev/null
+++ b/nextpnr/Makefile
@@ -0,0 +1,43 @@
+# $NetBSD$
+
+DISTNAME= nextpnr-0.4
+PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
+CATEGORIES= devel
+MASTER_SITES= ${MASTER_SITE_GITHUB:=YosysHQ/}
+GITHUB_PROJECT= nextpnr
+GITHUB_TAG= ${DISTNAME}
+
+MAINTAINER= lloyd%must-have-coffee.gen.nz@localhost
+HOMEPAGE= https://github.com/YosysHQ/nextpnr
+COMMENT= Portable FPGA place and route tool
+LICENSE= isc
+
+# Need an option for QT
+
+USE_LANGUAGES= c c++14
+USE_CMAKE= yes
+
+PYTHON_VERSIONS_INCOMPATIBLE= 27
+
+.include "options.mk"
+
+PLIST_VARS+= ice40 generic ecp5
+
+.if !empty(PKG_OPTIONS:Mice40) || !empty(PKG_OPTIONS:Mall)
+PLIST.ice40= yes
+.endif
+
+.if !empty(PKG_OPTIONS:Mgeneric) || !empty(PKG_OPTIONS:Mall)
+PLIST.generic= yes
+.endif
+
+.if !empty(PKG_OPTIONS:Mecp5) || !empty(PKG_OPTIONS:Mall)
+PLIST.ecp5= yes
+.endif
+
+.include "../../lang/python/application.mk"
+
+.include "../../math/eigen3/buildlink3.mk"
+.include "../../devel/boost-headers/buildlink3.mk"
+.include "../../devel/boost-libs/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/nextpnr/PLIST b/nextpnr/PLIST
new file mode 100644
index 0000000000..35f76ce02a
--- /dev/null
+++ b/nextpnr/PLIST
@@ -0,0 +1,4 @@
+@comment $NetBSD$
+${PLIST.ice40}bin/nextpnr-ice40
+${PLIST.generic}bin/nextpnr-generic
+${PLIST.ecp5}bin/nextpnr-ecp5
diff --git a/nextpnr/distinfo b/nextpnr/distinfo
new file mode 100644
index 0000000000..c462cacc5b
--- /dev/null
+++ b/nextpnr/distinfo
@@ -0,0 +1,5 @@
+$NetBSD$
+
+BLAKE2s (nextpnr-0.4.tar.gz) = 439b61f2c064ed57092e2e8e6134294c9392395f7db79d2d59b00c000bdcd153
+SHA512 (nextpnr-0.4.tar.gz) = 9af65b3e7bdbc1f23dd8a6ed8446e29b51039c3c9d8316cae355e584173f972e8f547864563ab86dadc5fa952798020e763e694adfddc02c9e72d8b473f68031
+Size (nextpnr-0.4.tar.gz) = 4460419 bytes
diff --git a/nextpnr/options.mk b/nextpnr/options.mk
new file mode 100644
index 0000000000..a578d4ece8
--- /dev/null
+++ b/nextpnr/options.mk
@@ -0,0 +1,57 @@
+# $NetBSD$
+
+PKG_OPTIONS_VAR= PKG_OPTIONS.nextpnr
+
+PKG_OPTIONS_REQUIRED_GROUPS= arch
+PKG_OPTIONS_GROUP.arch= all
+#PKG_OPTIONS_GROUP.arch+= all+alpha
+PKG_OPTIONS_GROUP.arch+= generic ice40 ecp5 # stable
+# PKG_OPTIONS_GROUP.arch+= gowin fpgainterchange machxo2 mistral # alpha
+
+PKG_SUPPORTED_OPTIONS= x11
+PKG_SUGGESTED_OPTIONS= ice40
+
+.include "../../mk/bsd.options.mk"
+
+.if !empty(PKG_OPTIONS:Mall)
+CMAKE_ARGS+= -DARCH=all
+# .elif !empty(PKG_OPTIONS:Mall+alpha)
+# CMAKE_ARGS+= -DARCH=all+alpha
+.elif !empty(PKG_OPTIONS:Mgeneric)
+CMAKE_ARGS+= -DARCH=generic
+.elif !empty(PKG_OPTIONS:Mice40)
+CMAKE_ARGS+= -DARCH=ice40
+.elif !empty(PKG_OPTIONS:Mecp5)
+CMAKE_ARGS+= -DARCH=ecp5
+# .elif !empty(PKG_OPTIONS:Mgowin)
+# CMAKE_ARGS+= -DARCH=gowin
+# .elif !empty(PKG_OPTIONS:Mfpgainterchange)
+# CMAKE_ARGS+= -DARCH=fpga_interchange
+# .elif !empty(PKG_OPTIONS:Mmachxo2)
+# CMAKE_ARGS+= -DARCH=machxo2
+# .elif !empty(PKG_OPTIONS:Mmistral)
+# CMAKE_ARGS+= -DARCH=mistral
+.endif
+
+
+###
+### Build with ice40 support
+###
+.if !empty(PKG_OPTIONS:Mice40) || !empty(PKG_OPTIONS:Mall)
+TOOL_DEPENDS+= icestorm-[0-9]*:../../wip/icestorm-git
+.endif
+
+###
+### Build with ecp5 support
+###
+.if !empty(PKG_OPTIONS:Mecp5) || !empty(PKG_OPTIONS:Mall)
+TOOL_DEPENDS+= ${PYPKGPREFIX}-prjtrellis-[0-9]*:../../wip/prjtrellis
+.endif
+
+###
+### Build with the QT5 GUI
+###
+.if !empty(PKG_OPTIONS:Mx11)
+CMAKE_ARGS+= -DBUILD_GUI=ON
+.include "../../x11/qt5-qtbase/buildlink3.mk"
+.endif
Home |
Main Index |
Thread Index |
Old Index