diff --git a/pkgs/applications/science/electronics/openroad/default.nix b/pkgs/by-name/op/openroad/package.nix similarity index 55% rename from pkgs/applications/science/electronics/openroad/default.nix rename to pkgs/by-name/op/openroad/package.nix index ef9db55ef3f5..2023f2606825 100644 --- a/pkgs/applications/science/electronics/openroad/default.nix +++ b/pkgs/by-name/op/openroad/package.nix @@ -1,50 +1,45 @@ { lib, - mkDerivation, + stdenv, fetchFromGitHub, + + # nativeBuildInputs bison, cmake, doxygen, flex, - git, - python3, + gitMinimal, + gtest, + libsForQt5, + pkg-config, swig, + + # buildInputs boost186, # 1.87.0 broken https://github.com/boostorg/asio/issues/442 cbc, # for clp cimg, clp, # for or-tools cudd, eigen, - gtest, glpk, lcov, lemon-graph, - libsForQt5, libjpeg, or-tools, pcre, - pkg-config, + python3, re2, # for or-tools readline, spdlog, tcl, tclPackages, - xorg, yosys, zlib, + xorg, llvmPackages, - stdenv, }: -let - or-tools-static = or-tools.overrideAttrs (oldAttrs: { - cmakeFlags = oldAttrs.cmakeFlags ++ [ - # https://github.com/google/or-tools/issues/3709 - "-DBUILD_SHARED_LIBS=OFF" - ]; - }); -in -mkDerivation rec { +stdenv.mkDerivation rec { pname = "openroad"; version = "2.0-unstable-2025-03-01"; @@ -61,39 +56,42 @@ mkDerivation rec { cmake doxygen flex - git + gitMinimal gtest + libsForQt5.wrapQtAppsHook pkg-config swig ]; - buildInputs = [ - boost186 - cbc - cimg - clp - cudd - eigen - glpk - lcov - lemon-graph - libjpeg - or-tools-static - pcre - python3 - libsForQt5.qtbase - libsForQt5.qtcharts - libsForQt5.qtsvg - libsForQt5.qtdeclarative - re2 - readline - spdlog - tcl - tclPackages.tclreadline - yosys - xorg.libX11 - zlib - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ llvmPackages.openmp ]; + buildInputs = + [ + boost186 + cbc + cimg + clp + cudd + eigen + glpk + lcov + lemon-graph + libjpeg + libsForQt5.qtbase + libsForQt5.qtcharts + libsForQt5.qtdeclarative + libsForQt5.qtsvg + or-tools + pcre + python3 + re2 + readline + spdlog + tcl + tclPackages.tclreadline + yosys + zlib + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ xorg.libX11 ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ llvmPackages.openmp ]; postPatch = '' patchShebangs --build etc/find_messages.py @@ -103,18 +101,18 @@ mkDerivation rec { cmakeFlags = [ - "-DENABLE_TESTS=ON" - "-DUSE_SYSTEM_BOOST=ON" - "-DUSE_SYSTEM_ABC=OFF" - "-DABC_SKIP_TESTS=ON" # it attempts to download gtest - "-DUSE_SYSTEM_OPENSTA=OFF" - "-DOPENROAD_VERSION=${version}_${src.rev}" - "-DCMAKE_RULE_MESSAGES=OFF" - "-DTCL_HEADER=${tcl}/include/tcl.h" - "-DTCL_LIBRARY=${tcl}/lib/libtcl${stdenv.hostPlatform.extensions.sharedLibrary}" + (lib.cmakeBool "ENABLE_TESTS" true) + (lib.cmakeBool "USE_SYSTEM_BOOST" true) + (lib.cmakeBool "USE_SYSTEM_ABC" false) + (lib.cmakeBool "ABC_SKIP_TESTS" true) # it attempts to download gtest + (lib.cmakeBool "USE_SYSTEM_OPENSTA" false) + (lib.cmakeFeature "OPENROAD_VERSION" "${version}_${src.rev}") + (lib.cmakeBool "CMAKE_RULE_MESSAGES" false) + (lib.cmakeFeature "TCL_HEADER" "${tcl}/include/tcl.h") + (lib.cmakeFeature "TCL_LIBRARY" "${tcl}/lib/libtcl${stdenv.hostPlatform.extensions.sharedLibrary}") ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - "-DCMAKE_CXX_FLAGS=-DBOOST_STACKTRACE_GNU_SOURCE_NOT_REQUIRED" + (lib.cmakeFeature "CMAKE_CXX_FLAGS" "-DBOOST_STACKTRACE_GNU_SOURCE_NOT_REQUIRED") ]; # Resynthesis needs access to the Yosys binaries. @@ -130,18 +128,22 @@ mkDerivation rec { doInstallCheck = true; installCheckPhase = '' + runHook preInstallCheck + $out/bin/openroad -version $out/bin/sta -version + + runHook postInstallCheck ''; - meta = with lib; { + meta = { description = "OpenROAD's unified application implementing an RTL-to-GDS flow"; homepage = "https://theopenroadproject.org"; - license = licenses.bsd3; - maintainers = with maintainers; [ + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ trepetti hzeller ]; - platforms = platforms.linux ++ platforms.darwin; + platforms = lib.platforms.linux ++ lib.platforms.darwin; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ad4ad32cc674..fbd07fa94373 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18497,8 +18497,6 @@ with pkgs; qcsxcad = libsForQt5.qcsxcad; }; - openroad = libsForQt5.callPackage ../applications/science/electronics/openroad { }; - qucs-s = qt6Packages.callPackage ../applications/science/electronics/qucs-s { }; xyce = callPackage ../applications/science/electronics/xyce { };