~ruther/guix-local

77b9a2fa33a592ebbf6e563a7f509a4e638e5991 — Cayetano Santos 5 months ago 8fb1ab1
gnu: nextpnr: Simplify package.

* gnu/packages/electronics.scm (nextpnr)[inputs]: Remove icestorm and
prjtrellis.
[native-inputs]: Add icestorm, prjbeyond-db, and prjtrellis.
<#:phases>: Remove get-prjbeyond-db.
<#:cmake>: Remove.
<#:configure-flags>: Add EXPORT_BBA_FILES; remove USE_IPO; fix
HIMBAECHEL_PRJBEYOND_DB.

Change-Id: I8116a4d7bdc91aef0eb41252d7b4e2ac7a0701b4
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
1 files changed, 10 insertions(+), 24 deletions(-)

M gnu/packages/electronics.scm
M gnu/packages/electronics.scm => gnu/packages/electronics.scm +10 -24
@@ 904,9 904,7 @@ which allows one to install the M8 firmware on any Teensy.")
    (build-system qt-build-system)
    (arguments
     (list
      #:cmake cmake                     ;CMake 3.25 or higher is required.
      #:configure-flags
      ;; TODO: enable more architectures?
      #~(list "-DARCH=generic;ice40;ecp5;himbaechel"
              "-DBUILD_GUI=ON"
              "-DUSE_OPENMP=ON"


@@ 914,30 912,17 @@ which allows one to install the M8 firmware on any Teensy.")
              "-DHIMBAECHEL_UARCH=ng-ultra;gowin"
              "-DHIMBAECHEL_NGULTRA_DEVICES=ng-ultra"
              "-DHIMBAECHEL_SPLIT=ON"
              "-DHIMBAECHEL_PRJBEYOND_DB=/tmp/prjbeyond-db"
              (string-append "-DHIMBAECHEL_PRJBEYOND_DB="
                             #$(this-package-native-input "prjbeyond-db")
                             "/share/prjbeyond-db")
              (string-append "-DEXPORT_BBA_FILES=" #$output "/bba-files")
              (string-append "-DCURRENT_GIT_VERSION=nextpnr-" #$version)
              (string-append "-DICESTORM_INSTALL_PREFIX="
                             #$(this-package-input "icestorm"))
                             #$(this-package-native-input "icestorm"))
              (string-append "-DTRELLIS_INSTALL_PREFIX="
                             #$(this-package-input "prjtrellis"))
              "-DUSE_IPO=OFF")
                             #$(this-package-native-input "prjtrellis")))
      #:phases
      #~(modify-phases %standard-phases
          ;; Required by himbaechel architecture, ng-ultra support.
          (add-after 'unpack 'get-prjbeyond-db
            (lambda _
              (copy-recursively
               #$(origin
                   (method git-fetch)
                   (uri (git-reference
                          (url "https://github.com/yosyshq-GmbH/prjbeyond-db/")
                          ;; We take latest commit, as indicated in nextpnr’s
                          ;; README.md file
                          (commit "06d3b424dd0e52d678087c891c022544238fb9e3")))
                   (sha256
                    (base32
                     "17dd3cgms2fy6xvz7magdmvv92km4cqh2kz9dyjrvz5y8caqav4y")))
               "/tmp/prjbeyond-db")))
          (add-after 'unpack 'unbundle-sanitizers-cmake
            (lambda _
              (substitute* "CMakeLists.txt"


@@ 949,15 934,16 @@ which allows one to install the M8 firmware on any Teensy.")
                  #$(this-package-native-input "sanitizers-cmake")
                  "/share/sanitizers-cmake/cmake"))))))))
    (native-inputs
     (list googletest
     (list icestorm
           googletest
           prjbeyond-db
           prjtrellis
           sanitizers-cmake))
    (inputs
     (list apycula
           boost
           corrosion
           eigen
           icestorm
           prjtrellis
           pybind11
           python
           qtbase-5