As explained in #943018 there will be a requirement for a new package (nng) with KiCAD v9. This is to support the new IPC API that many/most people will want. I'm filing this bug as the old bug was filed under the sci-electronics/kicad name along with "Current Packages". I'm hoping this is the more appropriate way to request this. Please note however this *is* to support an existing package. The 9.0.0_rc3 has been released (building it right now) and according to the KiCAD organization if no problems are found 9.0.0 should be release very soon. File I am posting is just taken directly from #943018. P.S. I'm marking this a Major severity because it will be blocking the IPC API feature of KiCAD which is a major new feature (they're deprecating the old python API and moving everything to this, which is a very good idea given the state of the python API/docs, etc). Reproducible: Always
Created attachment 918897 [details] Ebuild for nng 1.10.0 As previously mentioned, not my work, just taking from https://bugs.gentoo.org/943018
Note that the attached ebuild is unsuitable. There is no stated reason to do multilib nor multibuild, unless you can prove a need for 32bit or static libraries.
Created attachment 918937 [details] nng-1.10.0.ebuild Updated to remove multilib/multibuild
Okay, thanks for the feedback. Is the new version better? I removed the multilib stuff, and it still builds.
You lost := on net-libs/mbedtls:=
You're right, I thought that was part of the MULTILIB stuff. Fixed.
Created attachment 918939 [details] nng-1.10.0.ebuild Fixed to add back the :=
Better. :) We have 2025 so line 1 becomes 2024-2025 We set BUILD_SHARED_LIBS by default in cmake.eclass -> https://gitweb.gentoo.org/repo/gentoo.git/tree/eclass/cmake.eclass#n542 no need to set it (and the indent is broken). Style only notes: You don't have to pass ON/OFF in `usex compat ON OFF`, the default values yes/no work just as good. `usex deprecated OFF ON` can become `usex !deprecated` to yield the same result. I haven't build tested it yet. But this should probably go into a PR to update kicad-9999
On Tuesday I can add my 9.0.0 rc3 ebuild and tweak 9999 for the same nng dependency. We can also see if they release by Tuesday and put out 9.0.0 at the same time (might as well not do rc3 if that's the case) and put of rc3 if they haven't got the release out.
Currently KiCad is keyworded for (~)amd64, ~arm64, ~riscv, and ~x86. Since this library is going to be a hard dependency for plugins to work in the KiCad v9 series, I think we will also have to make this library keyworded for those arches, unless we want to drop KiCad to amd64 only or disable plugin features on non amd64 arches.
To clarify, I won't be able to do anything more on this. I can say the ebuilds as I took from elsewhere work for me on amd64. I won't be able to test arm64 or riscv.
it seems there is a dependency issue with mbedtls... -- Configuring for NNG version 1.10.0 ************************************************************ Linking against Mbed TLS may change license terms. Consult a lawyer and the license files for details. ************************************************************ Mbed TLS too old (must be version 2 or newer) UP CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:233 (message): Could NOT find MbedTLS (missing: MbedTLS_VERSION) Call Stack (most recent call first): /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:603 (_FPHSA_FAILURE_MESSAGE) cmake/FindMbedTLS.cmake:117 (find_package_handle_standard_args) src/supplemental/tls/mbedtls/CMakeLists.txt:35 (find_package) -- Configuring incomplete, errors occurred! * ERROR: dev-libs/nng-1.10.0::engrenage-overlay failed (configure phase): * cmake failed * * Call stack: * ebuild.sh, line 136: Called src_configure * environment, line 2122: Called cmake_src_configure * environment, line 1029: Called die * The specific snippet of code: * "${CMAKE_BINARY}" "${cmakeargs[@]}" "${CMAKE_USE_DIR}" || die "cmake failed"; * * If you need support, post the output of `emerge --info '=dev-libs/nng-1.10.0::engrenage-overlay'`, * the complete build log and the output of `emerge -pqv '=dev-libs/nng-1.10.0::engrenage-overlay'`. * The complete build log is located at '/var/tmp/portage/dev-libs/nng-1.10.0/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/dev-libs/nng-1.10.0/temp/environment'. * Working directory: '/var/tmp/portage/dev-libs/nng-1.10.0/work/nng-1.10.0_build' * S: '/var/tmp/portage/dev-libs/nng-1.10.0/work/nng-1.10.0'
note: net-libs/mbedtls-2.28.9-r1 was emerged later and it did not help
(In reply to Zoltan Puskas from comment #10) > Currently KiCad is keyworded for (~)amd64, ~arm64, ~riscv, and ~x86. Since > this library is going to be a hard dependency for plugins to work in the > KiCad v9 series, I think we will also have to make this library keyworded > for those arches, unless we want to drop KiCad to amd64 only or disable > plugin features on non amd64 arches. See https://devmanual.gentoo.org/keywording/index.html#keywording-on-upgrades. Especially: """ Note that it is preferred to drop keywords on the package and request rekeywording of it together with its new dependencies within the same bug to allow the new code path(s) in your package to be tested. This won't happen if the new dependency is requested for keywording by itself and package.use.mask is used to mask the relevant new USE flag: only the new package dependency will be tested by arch testers. Also, the mask has to be manually removed during the testing process, which is cumbersome. """ You should submit a PR with a commit adding nng, then another commit (same PR) with kicad including a dep on nng, with dropped keywords for anything you didn't test nng on. Then once merged, file a bug for rekeywording of kicad together with nng.
(In reply to gentoo2020 from comment #12) > it seems there is a dependency issue with mbedtls... > > -- Configuring for NNG version 1.10.0 > > ************************************************************ > Linking against Mbed TLS may change license terms. > Consult a lawyer and the license files for details. > ************************************************************ > Mbed TLS too old (must be version 2 or newer) UP > CMake Error at > /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:233 (message): > Could NOT find MbedTLS (missing: MbedTLS_VERSION) > Call Stack (most recent call first): > /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:603 > (_FPHSA_FAILURE_MESSAGE) > cmake/FindMbedTLS.cmake:117 (find_package_handle_standard_args) > src/supplemental/tls/mbedtls/CMakeLists.txt:35 (find_package) > https://github.com/nanomsg/nng/commit/818b5b600578f63de94822ea423dd41a06cf3209 "cmake: ensure that MbedTLS and WolfSSL can be found properly as subprojects Using nng_find_package as the helper fixes this, by ensuring that the dependency gets properly added to incorporating projects." in https://github.com/nanomsg/nng/releases/tag/v2.0.0-alpha.4
https://github.com/gentoo/gentoo/commit/d49c5a8b26e450592be27f637fa4a2e362550bce "dev-libs/nng: new package, add 1.10.1" I think we can close this.