Package Details: nextpnr-git 0.8.r20.g5206162-1

Git Clone URL: https://aur.archlinux.org/nextpnr-git.git (read-only, click to copy)
Package Base: nextpnr-git
Description: Portable FPGA place and route tool
Upstream URL: https://github.com/YosysHQ/nextpnr
Licenses: ISC
Conflicts: nextpnr
Provides: nextpnr
Submitter: grahamedgecombe
Maintainer: xiota (thotypous)
Last Packager: thotypous
Votes: 26
Popularity: 0.065290
First Submitted: 2018-08-02 17:35 (UTC)
Last Updated: 2025-05-19 13:24 (UTC)

Latest Comments

« First ‹ Previous 1 2 3 4 5 Next › Last »

sf101 commented on 2024-10-19 16:04 (UTC)

When I try to compile nextpnr-git (after compiling prjtrellis-db-git), I get

    vagrant: [ 99%] Building CXX object CMakeFiles/nextpnr-himbaechel-test.dir/himbaechel/uarch/xilinx/xilinx.cc.o
    vagrant: [ 99%] Building CXX object CMakeFiles/nextpnr-himbaechel-test.dir/himbaechel/uarch/xilinx/xilinx_place.cc.o
    vagrant: [ 99%] Linking CXX executable nextpnr-himbaechel-test
    vagrant: [ 99%] Built target nextpnr-himbaechel-test
    vagrant: [ 99%] Built target chipdb-himbaechel-example
    vagrant: [ 99%] Generating ../../../share/himbaechel/gowin/chipdb-GW1N-1.bin
    vagrant: Traceback (most recent call last):
    vagrant:   File "/home/vagrant/.cache/paru/clone/nextpnr-git/src/nextpnr/himbaechel/uarch/gowin/gowin_arch_gen.py", line 1470, in <module>
    vagrant:     main()
    vagrant:   File "/home/vagrant/.cache/paru/clone/nextpnr-git/src/nextpnr/himbaechel/uarch/gowin/gowin_arch_gen.py", line 1429, in main
    vagrant:     create_packages(ch, db)
    vagrant:   File "/home/vagrant/.cache/paru/clone/nextpnr-git/src/nextpnr/himbaechel/uarch/gowin/gowin_arch_gen.py", line 1227, in create_packages
    vagrant:     if variant in db.sip_cst and pkgname in db.sip_cst[variant]:
    vagrant:                   ^^^^^^^^^^
    vagrant: AttributeError: 'Device' object has no attribute 'sip_cst'
    vagrant: make[2]: *** [himbaechel/uarch/gowin/CMakeFiles/chipdb-himbaechel-gowin.dir/build.make:82: share/himbaechel/gowin/chipdb-GW1N-1.bin] Error 1
    vagrant: make[1]: *** [CMakeFiles/Makefile2:1771: himbaechel/uarch/gowin/CMakeFiles/chipdb-himbaechel-gowin.dir/all] Error 2
    vagrant: make: *** [Makefile:146: all] Error 2
    vagrant: ==> ERROR: A failure occurred in build().
    vagrant:     Aborting...
    vagrant: error: failed to build 'nextpnr-git-0.7.r29.gf0859503-1':
    vagrant: error: packages failed to build: nextpnr-git-0.7.r29.gf0859503-1

Is there perhaps a dependency missing?

yjun commented on 2024-09-06 16:21 (UTC) (edited on 2024-09-06 16:24 (UTC) by yjun)

Considering the latest documentation and discussions, it appears that Gowin will be replaced by a new architecture called himbaechel-gowin. Should we update the PKGBUILD file accordingly?

nextpnr-himbaechel

Gowin: Remove nextpnr-gowin

apicula

sf101 commented on 2024-04-29 18:16 (UTC)

Please consider adding support for himbaechel, it is needed for some boards such as the Tang Nano 9K.

_ARCHS=('generic' 'ice40' 'ecp5' 'nexus' 'gowin' 'himbaechel')
    himbaechel)
      makedepends+=('prjapicula')
      _CONFIG+=('-DHIMBAECHEL_GOWIN_DEVICES=all')
      ;;

xiretza commented on 2023-09-17 13:05 (UTC)

Thanks, I've fixed the dependency specification for prjtrellis-db. After that I got spurious GCC segfaults while building, but I don't think there's much the package can do about those anyway - here it is for posterity anyway:

In file included from /build/nextpnr-git/src/nextpnr/common/kernel/basectx.h:34,
                 from /build/nextpnr-git/src/nextpnr/common/kernel/arch_api.h:26,
                 from /build/nextpnr-git/src/nextpnr/common/kernel/base_arch.h:27,
                 from /build/nextpnr-git/src/nextpnr/common/kernel/nextpnr.h:23,
                 from /build/nextpnr-git/src/nextpnr/common/kernel/design_utils.h:21,
                 from /build/nextpnr-git/src/nextpnr/common/kernel/design_utils.cc:21:
/build/nextpnr-git/src/nextpnr/common/kernel/nextpnr_types.h:217:93: internal compiler error: Segmentation fault
  217 |     CellInfo(Context *ctx, IdString name, IdString type) : ctx(ctx), name(name), type(type){};
      |                                                                                             ^
0x1ad33c8 internal_error(char const*, ...)
    ???:0
0x95979b ggc_set_mark(void const*)
    ???:0
0x8b7c67 gt_ggc_mx_lang_tree_node(void*)
    ???:0
0x8b8313 gt_ggc_mx_lang_tree_node(void*)
    ???:0
0x8b9896 gt_ggc_mx_lang_tree_node(void*)
    ???:0
0xba0c73 gt_ggc_mx_vec_tree_va_gc_(void*)
    ???:0
0x8b9a47 gt_ggc_mx_lang_type(void*)
    ???:0
0x8b8045 gt_ggc_mx_lang_tree_node(void*)
    ???:0
0x8b9441 gt_ggc_mx_lang_tree_node(void*)
    ???:0
0x8b8034 gt_ggc_mx_lang_tree_node(void*)
    ???:0
0x8b9417 gt_ggc_mx_lang_tree_node(void*)
    ???:0
0x8b7f94 gt_ggc_mx_lang_tree_node(void*)
    ???:0
0x8b7e2d gt_ggc_mx_lang_tree_node(void*)
    ???:0
0x8b8305 gt_ggc_mx_lang_tree_node(void*)
    ???:0
0x8b97b4 gt_ggc_mx_lang_tree_node(void*)
    ???:0
0xba0c73 gt_ggc_mx_vec_tree_va_gc_(void*)
    ???:0
0x8b9a47 gt_ggc_mx_lang_type(void*)
    ???:0
0x8b8045 gt_ggc_mx_lang_tree_node(void*)
    ???:0
0x8b9441 gt_ggc_mx_lang_tree_node(void*)
    ???:0
0x8b8034 gt_ggc_mx_lang_tree_node(void*)
    ???:0
Please submit a full bug report, with preprocessed source (by using -freport-bug).
Please include the complete backtrace with any bug report.
See <https://bugs.archlinux.org/> for instructions.
make[2]: *** [CMakeFiles/nextpnr-nexus-test.dir/build.make:146: CMakeFiles/nextpnr-nexus-test.dir/common/kernel/design_utils.cc.o] Error 1

Maverick commented on 2022-02-14 16:52 (UTC)

If the build is missing gowin/chipdb/chipdb-GW1N-9C.bba use prjapicula bumped to 0.2a3 rather then 0.2a2 in the AUR as of today. Already flagged as outdated. Please consider adding min version.

xiretza commented on 2021-09-14 16:59 (UTC) (edited on 2022-03-20 18:24 (UTC) by xiretza)

<s>The prjtrellis-git package is severely broken - if you need a VCS version of trellis, use trellis-git.</s>

prjtrellis-git has gone through a deletion and resubmission, and is now the recommended package.

samekh commented on 2021-09-12 14:37 (UTC) (edited on 2021-09-12 14:42 (UTC) by samekh)

Hi,

Great package. There is only a small detail about the prjtrellis dependency, maybe not being necessarily a problem of this package. In the makedepends for the ECP5 architecture, there is a strict dependency on the package prjtrellis which is only found in the community repository. Although prjtrellis-git also exists on AUR, both of them set provides=libtrellis (and unfortunately none of them provides=prjtrellis). Therefore I would suggest to change the makedepend prjtrellis to libtrellis to be able to select between both and not force the repository version on each nextpnr-git update.

See:

diff --git a/PKGBUILD b/PKGBUILD
index d8898ed..2280dd2 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -25,7 +25,7 @@ for _arch in ${_ARCHS[@]}; do
       _CONFIG+=('-DICESTORM_INSTALL_PREFIX=/usr')
       ;;
     ecp5)
-      makedepends+=('prjtrellis' 'prjtrellis-db')
+      makedepends+=('libtrellis' 'prjtrellis-db')
       _CONFIG+=('-DTRELLIS_INSTALL_PREFIX=/usr')
       ;;
     nexus)

Regards,

Jan

xiretza commented on 2021-09-08 15:56 (UTC)

optdepends are optional runtime dependencies and are always installed during build, so that solution isn't appropriate - thanks for the reminder though, I finally committed @rpls patch.

marzoul commented on 2021-09-08 15:18 (UTC) (edited on 2021-09-08 15:18 (UTC) by marzoul)

Hi, I would suggest to move the supported architecture in optdepends. And generate the cmake options according to the actually installed corresponding packages. This would remove need to edit PKGBUILD for anyone not needing everything.


 # Maintainer: Graham Edgecombe <gpe@grahamedgecombe.com>
 pkgname=nextpnr-git
-pkgver=r3528.179ae683
+pkgver=r3780.95845b47
 pkgrel=1
 pkgdesc='Portable FPGA place and route tool'
 arch=('i686' 'x86_64')
 url='https://github.com/YosysHQ/nextpnr'
 license=('custom:ISC')
 depends=('boost-libs' 'python' 'qt5-base')
-makedepends=('boost' 'cmake' 'eigen' 'git' 'icestorm' 'prjtrellis'
-             'prjtrellis-db' 'prjoxide' 'prjapicula')
-provides=('nextpnr')
+makedepends=('boost' 'cmake' 'eigen' 'git')
+optdepends=(
+       'icestorm:      For Lattice iCE40 support'
+       'prjtrellis:    For Lattice ECP5 support'
+       'prjtrellis-db: For Lattice ECP5 support'
+       'prjoxide:      For Lattice Nexus support'
+       'prjapicula:    For Gowin support'
+)
+provides=('nextpnr=$pkgver')
 conflicts=('nextpnr')
 source=('nextpnr::git+https://github.com/YosysHQ/nextpnr.git')
 sha256sums=('SKIP')
@@ -22,11 +28,26 @@ pkgver() {
 build() {
   cd "$srcdir/nextpnr"

+  local _archlist="generic"
+  if $(pacman -Qi icestorm &> /dev/null) ; then
+    _archlist="$_archlist;ice40"
+  fi
+  if $(pacman -Qi prjtrellis &> /dev/null) && $(pacman -Qi prjtrellis-db &> /dev/null) ; then
+    _archlist="$_archlist;ecp5"
+  fi
+  if $(pacman -Qi prjoxide &> /dev/null) ; then
+    _archlist="$_archlist;nexus"
+  fi
+  if $(pacman -Qi prjapicula &> /dev/null) ; then
+    _archlist="$_archlist;gowin"
+  fi
+  msg "Architectures : $_archlist"
+
   mkdir -p build
   cd build

   cmake \
-    -DARCH=generic\;ice40\;ecp5\;nexus\;gowin \
+    -DARCH="$_archlist" \
     -DICESTORM_INSTALL_PREFIX=/usr \
     -DTRELLIS_INSTALL_PREFIX=/usr \
     -DOXIDE_INSTALL_PREFIX=/usr \