guix_mirror_bot pushed a commit to branch master
in repository guix.

commit fdd621b9bbc6122eef07c2543e8173c3e770b635
Author: Cayetano Santos <[email protected]>
AuthorDate: Fri Oct 3 12:11:58 2025 +0200

    gnu: nextpnr: Update to 0.9-0.ad76625.
    
    * gnu/packages/electronics.scm (nextpnr): Update to 0.9-0.ad76625.
    [inputs]: Remove yosys.
    [native-inputs]: Add prjpeppercorn and yosys.
    <#:configure-flags>: Complete DHIMBAECHEL_UARCH; add
    HIMBAECHEL_PEPPERCORN_PATH.
    
    Change-Id: I1f1d09f077fbd4ab9dae371d11a9ff91ba7b74f9
    Signed-off-by: Maxim Cournoyer <[email protected]>
---
 gnu/packages/electronics.scm | 186 ++++++++++++++++++++++---------------------
 1 file changed, 96 insertions(+), 90 deletions(-)

diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm
index 246b770f3a..56ae42e74b 100644
--- a/gnu/packages/electronics.scm
+++ b/gnu/packages/electronics.scm
@@ -864,96 +864,102 @@ which allows one to install the M8 firmware on any 
Teensy.")
                    license:zlib))))
 
 (define-public nextpnr
-  (package
-    (name "nextpnr")
-    (version "0.9")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-              (url "https://github.com/YosysHQ/nextpnr/";)
-              (commit (string-append "nextpnr-" version))
-              ;; XXX: Fetch some bundled libraries such as QtPropertyBrowser,
-              ;; json11 and python-console, which have custom modifications or
-              ;; no longer have their original upstream.
-              (recursive? #t)))
-       (file-name (git-file-name name version))
-       (modules '((guix build utils)
-                  (ice-9 ftw)
-                  (srfi srfi-26)))
-       (snippet
-        '(begin
-           ;; XXX: 'delete-all-but' is copied from the turbovnc package.
-           (define (delete-all-but directory . preserve)
-             (with-directory-excursion directory
-               (let* ((pred (negate (cut member <>
-                                         (cons* "." ".." preserve))))
-                      (items (scandir "." pred)))
-                 (for-each (cut delete-file-recursively <>) items))))
-           (delete-all-but "3rdparty"
-                           ;; The following sources have all been patched, so
-                           ;; cannot easily be unbundled.
-                           "QtPropertyBrowser"
-                           "json11"
-                           "python-console"
-                           "oourafft")))
-       (patches (search-patches "nextpnr-gtest.patch"
-                                "nextpnr-imgui.patch"))
-       (sha256
-        (base32 "1wrlk0f4y29znd1zgl531lw4s0rfm5w8kx4hlwwdaj7b9vv3v65f"))))
-    (build-system qt-build-system)
-    (arguments
-     (list
-      #:configure-flags
-      #~(list "-DARCH=generic;ice40;ecp5;himbaechel"
-              "-DBUILD_GUI=ON"
-              "-DUSE_OPENMP=ON"
-              "-DBUILD_TESTS=ON"
-              "-DHIMBAECHEL_UARCH=ng-ultra;gowin"
-              "-DHIMBAECHEL_NGULTRA_DEVICES=ng-ultra"
-              "-DHIMBAECHEL_SPLIT=ON"
-              (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-native-input "icestorm"))
-              (string-append "-DTRELLIS_INSTALL_PREFIX="
-                             #$(this-package-native-input "prjtrellis")))
-      #:phases
-      #~(modify-phases %standard-phases
-          (add-after 'unpack 'unbundle-sanitizers-cmake
-            (lambda _
-              (substitute* "CMakeLists.txt"
-                ;; Use the system sanitizers-cmake module.  This is made
-                ;; necessary 'sanitizers-cmake' installing a FindPackage
-                ;; module but no CMake config file.
-                (("\\$\\{CMAKE_SOURCE_DIR}/3rdparty/sanitizers-cmake/cmake")
-                 (string-append
-                  #$(this-package-native-input "sanitizers-cmake")
-                  "/share/sanitizers-cmake/cmake"))))))))
-    (native-inputs
-     (list icestorm
-           googletest
-           prjbeyond-db
-           prjtrellis
-           sanitizers-cmake))
-    (inputs
-     (list apycula
-           boost
-           corrosion
-           eigen
-           pybind11
-           python
-           qtbase-5
-           qtwayland-5
-           qtimgui
-           yosys))
-    (synopsis "Place-and-Route tool for FPGAs")
-    (description "Nextpnr is a portable FPGA place and route tool.")
-    (home-page "https://github.com/YosysHQ/nextpnr/";)
-    (license license:isc)))
+  (let ((commit "ad76625d4d828cb093b55aa9f5aae59b7ba9724f")
+        (revision "0"))
+    (package
+      (name "nextpnr")
+      (version (git-version "0.9" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+                (url "https://github.com/YosysHQ/nextpnr/";)
+                (commit commit)
+                ;; XXX: Fetch some bundled libraries such as QtPropertyBrowser,
+                ;; json11 and python-console, which have custom modifications 
or
+                ;; no longer have their original upstream.
+                (recursive? #t)))
+         (file-name (git-file-name name version))
+         (modules '((guix build utils)
+                    (ice-9 ftw)
+                    (srfi srfi-26)))
+         (snippet
+          '(begin
+             ;; XXX: 'delete-all-but' is copied from the turbovnc package.
+             (define (delete-all-but directory . preserve)
+               (with-directory-excursion directory
+                 (let* ((pred (negate (cut member <>
+                                           (cons* "." ".." preserve))))
+                        (items (scandir "." pred)))
+                   (for-each (cut delete-file-recursively <>) items))))
+             (delete-all-but "3rdparty"
+                             ;; The following sources have all been patched, so
+                             ;; cannot easily be unbundled.
+                             "QtPropertyBrowser"
+                             "json11"
+                             "python-console"
+                             "oourafft")))
+         (patches (search-patches "nextpnr-gtest.patch"
+                                  "nextpnr-imgui.patch"))
+         (sha256
+          (base32 "1zjxvkycg5xx605d4ark8gd10w4xni1wd10chmhv983dvyv875br"))))
+      (build-system qt-build-system)
+      (arguments
+       (list
+        #:configure-flags
+        #~(list "-DARCH=generic;ice40;ecp5;himbaechel"
+                "-DBUILD_GUI=ON"
+                "-DUSE_OPENMP=ON"
+                "-DBUILD_TESTS=ON"
+                "-DHIMBAECHEL_UARCH=ng-ultra;gowin;gatemate"
+                "-DHIMBAECHEL_NGULTRA_DEVICES=ng-ultra"
+                "-DHIMBAECHEL_SPLIT=ON"
+                (string-append "-DHIMBAECHEL_PRJBEYOND_DB="
+                               (search-input-directory
+                                %build-inputs "share/prjbeyond-db"))
+                (string-append "-DHIMBAECHEL_PEPPERCORN_PATH="
+                               (search-input-directory
+                                %build-inputs "share/prjpeppercorn"))
+                (string-append "-DEXPORT_BBA_FILES=" #$output "/bba-files")
+                (string-append "-DCURRENT_GIT_VERSION=nextpnr-" #$version)
+                (string-append "-DICESTORM_INSTALL_PREFIX="
+                               #$(this-package-native-input "icestorm"))
+                (string-append "-DTRELLIS_INSTALL_PREFIX="
+                               #$(this-package-native-input "prjtrellis")))
+        #:phases
+        #~(modify-phases %standard-phases
+            (add-after 'unpack 'unbundle-sanitizers-cmake
+              (lambda _
+                (substitute* "CMakeLists.txt"
+                  ;; Use the system sanitizers-cmake module.  This is made
+                  ;; necessary 'sanitizers-cmake' installing a FindPackage
+                  ;; module but no CMake config file.
+                  (("\\$\\{CMAKE_SOURCE_DIR}/3rdparty/sanitizers-cmake/cmake")
+                   (string-append
+                    #$(this-package-native-input "sanitizers-cmake")
+                    "/share/sanitizers-cmake/cmake"))))))))
+      (native-inputs
+       (list icestorm
+             googletest
+             prjbeyond-db
+             prjpeppercorn
+             prjtrellis
+             sanitizers-cmake
+             yosys))
+      (inputs
+       (list apycula
+             boost
+             corrosion
+             eigen
+             pybind11
+             python
+             qtbase-5
+             qtwayland-5
+             qtimgui))
+      (synopsis "Place-and-Route tool for FPGAs")
+      (description "Nextpnr is a portable FPGA place and route tool.")
+      (home-page "https://github.com/YosysHQ/nextpnr/";)
+      (license license:isc))))
 
 (define-public nextpnr-ice40
   (deprecated-package "nextpnr-ice40" nextpnr))

Reply via email to