Download raw body.
devel/cxx-rust-cssparser (HEADS UP rust hackers)
På fredag 19. juni 2026 kl. 08:27, skrev Rafael Sadowski
<rafael@sizeofvoid.org>:
> Here is the first c++/rust cmake port. If you want to build it you need:
> devel/corrosion and devel/cxxbridge-cmd from ports@. Of course this is a
> dependency for KDE Plasma 6.7. KDE started to accept rust code in KDE
> code base and there a more ports will use it.
>
I built devel/corrosion and devel/cxxbridge-cmd just fine. Current/amd64
with privsep. Notes in their respective emails.
On the otherhand with devel/cxx-rust-cssparser, this is what I got:
$ cd /usr/ports/devel/cxx-rust-cssparser/ && make clean && make build package test clean && make distclean
===> Cleaning for cxx-rust-cssparser-1.0.0
===> Building from scratch cxx-rust-cssparser-1.0.0
===> cxx-rust-cssparser-1.0.0 depends on: corrosion-* -> corrosion-0.6.1
===> cxx-rust-cssparser-1.0.0 depends on: cmake-core->=4 -> cmake-core-4.3.3
===> cxx-rust-cssparser-1.0.0 depends on: ninja-* -> ninja-1.11.1p1v1
===> cxx-rust-cssparser-1.0.0 depends on: cargo-generate-vendor-* -> cargo-generate-vendor-1.0p1
===> cxx-rust-cssparser-1.0.0 depends on: rust-* -> rust-1.96.0
===> Checking files for cxx-rust-cssparser-1.0.0
`/usr/ports/distfiles/libraries-cxx-rust-cssparser-v1.0.0.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/anstyle-1.0.14.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/bitflags-2.11.1.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/byteorder-1.5.0.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/cc-1.2.60.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/clap-4.6.1.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/clap_builder-4.6.0.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/clap_lex-1.1.0.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/codespan-reporting-0.13.1.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/cssparser-0.35.0.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/cssparser-color-0.3.0.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/cssparser-macros-0.6.1.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/cxx-1.0.194.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/cxx-build-1.0.194.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/cxxbridge-cmd-1.0.194.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/cxxbridge-flags-1.0.194.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/cxxbridge-macro-1.0.194.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/derive_more-0.99.20.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/dtoa-1.0.11.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/dtoa-short-0.3.5.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/equivalent-1.0.2.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/find-msvc-tools-0.1.9.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/foldhash-0.2.0.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/fxhash-0.2.1.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/hashbrown-0.17.0.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/indexmap-2.14.0.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/itoa-1.0.18.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/link-cplusplus-1.0.12.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/log-0.4.29.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/memchr-2.8.0.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/new_debug_unreachable-1.0.6.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/nom-8.0.0.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/phf-0.11.3.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/phf_codegen-0.11.3.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/phf_generator-0.11.3.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/phf_macros-0.11.3.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/phf_shared-0.11.3.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/precomputed-hash-0.1.1.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/proc-macro2-1.0.106.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/quote-1.0.45.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/rand-0.8.6.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/rand_core-0.6.4.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/scratch-1.0.9.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/selectors-0.27.0.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/serde-1.0.228.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/serde_core-1.0.228.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/serde_derive-1.0.228.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/servo_arc-0.4.3.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/shlex-1.3.0.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/siphasher-1.0.2.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/smallvec-1.15.1.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/stable_deref_trait-1.2.1.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/strsim-0.11.1.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/syn-2.0.117.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/termcolor-1.4.1.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/unicode-ident-1.0.24.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/unicode-width-0.2.2.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/winapi-util-0.1.11.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/windows-link-0.2.1.tar.gz' is up to date.
`/usr/ports/distfiles/cargo/windows-sys-0.61.2.tar.gz' is up to date.
>> (SHA256) all files: OK
===> Extracting for cxx-rust-cssparser-1.0.0
[modcargo] moving crates to /usr/ports/pobj/cxx-rust-cssparser-1.0.0/cxx-rust-cssparser-v1.0.0-2c5cd92c14164e6da2b98beba1edeaecdc1445d1/modcargo-crates
===> Patching for cxx-rust-cssparser-1.0.0
===> Compiler link: clang -> /usr/bin/clang
===> Compiler link: clang++ -> /usr/bin/clang++
===> Compiler link: cc -> /usr/bin/cc
===> Compiler link: c++ -> /usr/bin/c++
[modcargo] Generating metadata for anstyle-1.0.14
[modcargo] Generating metadata for bitflags-2.11.1
[modcargo] Generating metadata for byteorder-1.5.0
[modcargo] Generating metadata for cc-1.2.60
[modcargo] Generating metadata for clap-4.6.1
[modcargo] Generating metadata for clap_builder-4.6.0
[modcargo] Generating metadata for clap_lex-1.1.0
[modcargo] Generating metadata for codespan-reporting-0.13.1
[modcargo] Generating metadata for cssparser-0.35.0
[modcargo] Generating metadata for cssparser-color-0.3.0
[modcargo] Generating metadata for cssparser-macros-0.6.1
[modcargo] Generating metadata for cxx-1.0.194
[modcargo] Generating metadata for cxx-build-1.0.194
[modcargo] Generating metadata for cxxbridge-cmd-1.0.194
[modcargo] Generating metadata for cxxbridge-flags-1.0.194
[modcargo] Generating metadata for cxxbridge-macro-1.0.194
[modcargo] Generating metadata for derive_more-0.99.20
[modcargo] Generating metadata for dtoa-1.0.11
[modcargo] Generating metadata for dtoa-short-0.3.5
[modcargo] Generating metadata for equivalent-1.0.2
[modcargo] Generating metadata for find-msvc-tools-0.1.9
[modcargo] Generating metadata for foldhash-0.2.0
[modcargo] Generating metadata for fxhash-0.2.1
[modcargo] Generating metadata for hashbrown-0.17.0
[modcargo] Generating metadata for indexmap-2.14.0
[modcargo] Generating metadata for itoa-1.0.18
[modcargo] Generating metadata for link-cplusplus-1.0.12
[modcargo] Generating metadata for log-0.4.29
[modcargo] Generating metadata for memchr-2.8.0
[modcargo] Generating metadata for new_debug_unreachable-1.0.6
[modcargo] Generating metadata for nom-8.0.0
[modcargo] Generating metadata for phf-0.11.3
[modcargo] Generating metadata for phf_codegen-0.11.3
[modcargo] Generating metadata for phf_generator-0.11.3
[modcargo] Generating metadata for phf_macros-0.11.3
[modcargo] Generating metadata for phf_shared-0.11.3
[modcargo] Generating metadata for precomputed-hash-0.1.1
[modcargo] Generating metadata for proc-macro2-1.0.106
[modcargo] Generating metadata for quote-1.0.45
[modcargo] Generating metadata for rand-0.8.6
[modcargo] Generating metadata for rand_core-0.6.4
[modcargo] Generating metadata for scratch-1.0.9
[modcargo] Generating metadata for selectors-0.27.0
[modcargo] Generating metadata for serde-1.0.228
[modcargo] Generating metadata for serde_core-1.0.228
[modcargo] Generating metadata for serde_derive-1.0.228
[modcargo] Generating metadata for servo_arc-0.4.3
[modcargo] Generating metadata for shlex-1.3.0
[modcargo] Generating metadata for siphasher-1.0.2
[modcargo] Generating metadata for smallvec-1.15.1
[modcargo] Generating metadata for stable_deref_trait-1.2.1
[modcargo] Generating metadata for strsim-0.11.1
[modcargo] Generating metadata for syn-2.0.117
[modcargo] Generating metadata for termcolor-1.4.1
[modcargo] Generating metadata for unicode-ident-1.0.24
[modcargo] Generating metadata for unicode-width-0.2.2
[modcargo] Generating metadata for winapi-util-0.1.11
[modcargo] Generating metadata for windows-link-0.2.1
[modcargo] Generating metadata for windows-sys-0.61.2
===> Generating configure for cxx-rust-cssparser-1.0.0
===> Configuring for cxx-rust-cssparser-1.0.0
mkdir -p /usr/ports/pobj/cxx-rust-cssparser-1.0.0/cargo-home
printf '%s\n' '[source.crates-io]' 'replace-with = "modcargo"' '[source.modcargo]' 'directory = "/usr/ports/pobj/cxx-rust-cssparser-1.0.0/cxx-rust-cssparser-v1.0.0-2c5cd92c14164e6da2b98beba1edeaecdc1445d1/modcargo-crates"' '[net]' 'offline = true' > /usr/ports/pobj/cxx-rust-cssparser-1.0.0/cargo-home/config.toml
-- The C compiler identification is Clang 22.1.6
-- The CXX compiler identification is Clang 22.1.6
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/ports/pobj/cxx-rust-cssparser-1.0.0/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/ports/pobj/cxx-rust-cssparser-1.0.0/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
--
-- Rust Target: x86_64-unknown-openbsd
-- Determining required link libraries for target x86_64-unknown-openbsd
-- Required static libs for target x86_64-unknown-openbsd: pthread;c++abi;c;m;util;execinfo;compiler_rt
-- Required link flags for target x86_64-unknown-openbsd:
-- Found Rust: /usr/local/bin/rustc (found version "1.96.0")
-- Looking for __GLIBC__
-- Looking for __GLIBC__ - not found
-- Performing Test _OFFT_IS_64BIT
-- Performing Test _OFFT_IS_64BIT - Success
-- Performing Test HAVE_DATE_TIME
-- Performing Test HAVE_DATE_TIME - Success
fatal: not a git repository (or any parent up to mount point /usr/ports)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: not a git repository (or any parent up to mount point /usr/ports)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
CMake Warning at /usr/local/share/ECM/kde-modules/KDEInstallDirsCommon.cmake:169 (message):
KDE_INSTALL_BINDIR got its value from CMAKE_INSTALL_BINDIR. In most cases
this is unintended, check if you included GNUInstallDirs before
KDEInstallDirs. Some third party modules include GNUInstallDirs too so eg.
find_package(Qt6 ...) is equivalent to include(GNUInstallDirs). If you set
CMAKE_INSTALL_BINDIR deliberately before including KDEInstallDirs its
recommended to use KDE_INSTALL_BINDIR instead to suppress this message.
Call Stack (most recent call first):
/usr/local/share/ECM/kde-modules/KDEInstallDirsCommon.cmake:255 (_define_relative)
/usr/local/share/ECM/kde-modules/KDEInstallDirs6.cmake:203 (include)
/usr/local/share/ECM/kde-modules/KDEInstallDirs.cmake:17 (include)
CMakeLists.txt:31 (include)
CMake Warning at /usr/local/share/ECM/kde-modules/KDEInstallDirsCommon.cmake:169 (message):
KDE_INSTALL_SBINDIR got its value from CMAKE_INSTALL_SBINDIR. In most
cases this is unintended, check if you included GNUInstallDirs before
KDEInstallDirs. Some third party modules include GNUInstallDirs too so eg.
find_package(Qt6 ...) is equivalent to include(GNUInstallDirs). If you set
CMAKE_INSTALL_SBINDIR deliberately before including KDEInstallDirs its
recommended to use KDE_INSTALL_SBINDIR instead to suppress this message.
Call Stack (most recent call first):
/usr/local/share/ECM/kde-modules/KDEInstallDirsCommon.cmake:258 (_define_relative)
/usr/local/share/ECM/kde-modules/KDEInstallDirs6.cmake:203 (include)
/usr/local/share/ECM/kde-modules/KDEInstallDirs.cmake:17 (include)
CMakeLists.txt:31 (include)
CMake Warning at /usr/local/share/ECM/kde-modules/KDEInstallDirsCommon.cmake:169 (message):
KDE_INSTALL_LIBDIR got its value from CMAKE_INSTALL_LIBDIR. In most cases
this is unintended, check if you included GNUInstallDirs before
KDEInstallDirs. Some third party modules include GNUInstallDirs too so eg.
find_package(Qt6 ...) is equivalent to include(GNUInstallDirs). If you set
CMAKE_INSTALL_LIBDIR deliberately before including KDEInstallDirs its
recommended to use KDE_INSTALL_LIBDIR instead to suppress this message.
Call Stack (most recent call first):
/usr/local/share/ECM/kde-modules/KDEInstallDirsCommon.cmake:261 (_define_relative)
/usr/local/share/ECM/kde-modules/KDEInstallDirs6.cmake:203 (include)
/usr/local/share/ECM/kde-modules/KDEInstallDirs.cmake:17 (include)
CMakeLists.txt:31 (include)
CMake Warning at /usr/local/share/ECM/kde-modules/KDEInstallDirsCommon.cmake:169 (message):
KDE_INSTALL_LIBEXECDIR got its value from CMAKE_INSTALL_LIBEXECDIR. In
most cases this is unintended, check if you included GNUInstallDirs before
KDEInstallDirs. Some third party modules include GNUInstallDirs too so eg.
find_package(Qt6 ...) is equivalent to include(GNUInstallDirs). If you set
CMAKE_INSTALL_LIBEXECDIR deliberately before including KDEInstallDirs its
recommended to use KDE_INSTALL_LIBEXECDIR instead to suppress this message.
Call Stack (most recent call first):
/usr/local/share/ECM/kde-modules/KDEInstallDirsCommon.cmake:270 (_define_relative)
/usr/local/share/ECM/kde-modules/KDEInstallDirs6.cmake:203 (include)
/usr/local/share/ECM/kde-modules/KDEInstallDirs.cmake:17 (include)
CMakeLists.txt:31 (include)
CMake Warning at /usr/local/share/ECM/kde-modules/KDEInstallDirsCommon.cmake:169 (message):
KDE_INSTALL_INCLUDEDIR got its value from CMAKE_INSTALL_INCLUDEDIR. In
most cases this is unintended, check if you included GNUInstallDirs before
KDEInstallDirs. Some third party modules include GNUInstallDirs too so eg.
find_package(Qt6 ...) is equivalent to include(GNUInstallDirs). If you set
CMAKE_INSTALL_INCLUDEDIR deliberately before including KDEInstallDirs its
recommended to use KDE_INSTALL_INCLUDEDIR instead to suppress this message.
Call Stack (most recent call first):
/usr/local/share/ECM/kde-modules/KDEInstallDirsCommon.cmake:220 (_define_relative)
/usr/local/share/ECM/kde-modules/KDEInstallDirsCommon.cmake:279 (_define_absolute)
/usr/local/share/ECM/kde-modules/KDEInstallDirs6.cmake:203 (include)
/usr/local/share/ECM/kde-modules/KDEInstallDirs.cmake:17 (include)
CMakeLists.txt:31 (include)
CMake Warning at /usr/local/share/ECM/kde-modules/KDEInstallDirsCommon.cmake:169 (message):
KDE_INSTALL_LOCALSTATEDIR got its value from CMAKE_INSTALL_LOCALSTATEDIR.
In most cases this is unintended, check if you included GNUInstallDirs
before KDEInstallDirs. Some third party modules include GNUInstallDirs too
so eg. find_package(Qt6 ...) is equivalent to include(GNUInstallDirs). If
you set CMAKE_INSTALL_LOCALSTATEDIR deliberately before including
KDEInstallDirs its recommended to use KDE_INSTALL_LOCALSTATEDIR instead to
suppress this message.
Call Stack (most recent call first):
/usr/local/share/ECM/kde-modules/KDEInstallDirsCommon.cmake:220 (_define_relative)
/usr/local/share/ECM/kde-modules/KDEInstallDirsCommon.cmake:288 (_define_absolute)
/usr/local/share/ECM/kde-modules/KDEInstallDirs6.cmake:203 (include)
/usr/local/share/ECM/kde-modules/KDEInstallDirs.cmake:17 (include)
CMakeLists.txt:31 (include)
CMake Warning at /usr/local/share/ECM/kde-modules/KDEInstallDirsCommon.cmake:169 (message):
KDE_INSTALL_SHAREDSTATEDIR got its value from CMAKE_INSTALL_SHAREDSTATEDIR.
In most cases this is unintended, check if you included GNUInstallDirs
before KDEInstallDirs. Some third party modules include GNUInstallDirs too
so eg. find_package(Qt6 ...) is equivalent to include(GNUInstallDirs). If
you set CMAKE_INSTALL_SHAREDSTATEDIR deliberately before including
KDEInstallDirs its recommended to use KDE_INSTALL_SHAREDSTATEDIR instead to
suppress this message.
Call Stack (most recent call first):
/usr/local/share/ECM/kde-modules/KDEInstallDirsCommon.cmake:220 (_define_relative)
/usr/local/share/ECM/kde-modules/KDEInstallDirsCommon.cmake:291 (_define_absolute)
/usr/local/share/ECM/kde-modules/KDEInstallDirs6.cmake:203 (include)
/usr/local/share/ECM/kde-modules/KDEInstallDirs.cmake:17 (include)
CMakeLists.txt:31 (include)
CMake Warning at /usr/local/share/ECM/kde-modules/KDEInstallDirsCommon.cmake:169 (message):
KDE_INSTALL_DATAROOTDIR got its value from CMAKE_INSTALL_DATAROOTDIR. In
most cases this is unintended, check if you included GNUInstallDirs before
KDEInstallDirs. Some third party modules include GNUInstallDirs too so eg.
find_package(Qt6 ...) is equivalent to include(GNUInstallDirs). If you set
CMAKE_INSTALL_DATAROOTDIR deliberately before including KDEInstallDirs its
recommended to use KDE_INSTALL_DATAROOTDIR instead to suppress this
message.
Call Stack (most recent call first):
/usr/local/share/ECM/kde-modules/KDEInstallDirsCommon.cmake:220 (_define_relative)
/usr/local/share/ECM/kde-modules/KDEInstallDirsCommon.cmake:299 (_define_absolute)
/usr/local/share/ECM/kde-modules/KDEInstallDirs6.cmake:203 (include)
/usr/local/share/ECM/kde-modules/KDEInstallDirs.cmake:17 (include)
CMakeLists.txt:31 (include)
CMake Warning at /usr/local/share/ECM/kde-modules/KDEInstallDirsCommon.cmake:169 (message):
KDE_INSTALL_DATADIR got its value from CMAKE_INSTALL_DATADIR. In most
cases this is unintended, check if you included GNUInstallDirs before
KDEInstallDirs. Some third party modules include GNUInstallDirs too so eg.
find_package(Qt6 ...) is equivalent to include(GNUInstallDirs). If you set
CMAKE_INSTALL_DATADIR deliberately before including KDEInstallDirs its
recommended to use KDE_INSTALL_DATADIR instead to suppress this message.
Call Stack (most recent call first):
/usr/local/share/ECM/kde-modules/KDEInstallDirsCommon.cmake:304 (_define_relative)
/usr/local/share/ECM/kde-modules/KDEInstallDirs6.cmake:203 (include)
/usr/local/share/ECM/kde-modules/KDEInstallDirs.cmake:17 (include)
CMakeLists.txt:31 (include)
CMake Warning at /usr/local/share/ECM/kde-modules/KDEInstallDirsCommon.cmake:169 (message):
KDE_INSTALL_LOCALEDIR got its value from CMAKE_INSTALL_LOCALEDIR. In most
cases this is unintended, check if you included GNUInstallDirs before
KDEInstallDirs. Some third party modules include GNUInstallDirs too so eg.
find_package(Qt6 ...) is equivalent to include(GNUInstallDirs). If you set
CMAKE_INSTALL_LOCALEDIR deliberately before including KDEInstallDirs its
recommended to use KDE_INSTALL_LOCALEDIR instead to suppress this message.
Call Stack (most recent call first):
/usr/local/share/ECM/kde-modules/KDEInstallDirsCommon.cmake:332 (_define_relative)
/usr/local/share/ECM/kde-modules/KDEInstallDirs6.cmake:203 (include)
/usr/local/share/ECM/kde-modules/KDEInstallDirs.cmake:17 (include)
CMakeLists.txt:31 (include)
CMake Warning at /usr/local/share/ECM/kde-modules/KDEInstallDirsCommon.cmake:169 (message):
KDE_INSTALL_MANDIR got its value from CMAKE_INSTALL_MANDIR. In most cases
this is unintended, check if you included GNUInstallDirs before
KDEInstallDirs. Some third party modules include GNUInstallDirs too so eg.
find_package(Qt6 ...) is equivalent to include(GNUInstallDirs). If you set
CMAKE_INSTALL_MANDIR deliberately before including KDEInstallDirs its
recommended to use KDE_INSTALL_MANDIR instead to suppress this message.
Call Stack (most recent call first):
/usr/local/share/ECM/kde-modules/KDEInstallDirsCommon.cmake:357 (_define_relative)
/usr/local/share/ECM/kde-modules/KDEInstallDirs6.cmake:203 (include)
/usr/local/share/ECM/kde-modules/KDEInstallDirs.cmake:17 (include)
CMakeLists.txt:31 (include)
CMake Warning at /usr/local/share/ECM/kde-modules/KDEInstallDirsCommon.cmake:169 (message):
KDE_INSTALL_INFODIR got its value from CMAKE_INSTALL_INFODIR. In most
cases this is unintended, check if you included GNUInstallDirs before
KDEInstallDirs. Some third party modules include GNUInstallDirs too so eg.
find_package(Qt6 ...) is equivalent to include(GNUInstallDirs). If you set
CMAKE_INSTALL_INFODIR deliberately before including KDEInstallDirs its
recommended to use KDE_INSTALL_INFODIR instead to suppress this message.
Call Stack (most recent call first):
/usr/local/share/ECM/kde-modules/KDEInstallDirsCommon.cmake:360 (_define_relative)
/usr/local/share/ECM/kde-modules/KDEInstallDirs6.cmake:203 (include)
/usr/local/share/ECM/kde-modules/KDEInstallDirs.cmake:17 (include)
CMakeLists.txt:31 (include)
CMake Warning at /usr/local/share/ECM/kde-modules/KDEInstallDirsCommon.cmake:169 (message):
KDE_INSTALL_SYSCONFDIR got its value from CMAKE_INSTALL_SYSCONFDIR. In
most cases this is unintended, check if you included GNUInstallDirs before
KDEInstallDirs. Some third party modules include GNUInstallDirs too so eg.
find_package(Qt6 ...) is equivalent to include(GNUInstallDirs). If you set
CMAKE_INSTALL_SYSCONFDIR deliberately before including KDEInstallDirs its
recommended to use KDE_INSTALL_SYSCONFDIR instead to suppress this message.
Call Stack (most recent call first):
/usr/local/share/ECM/kde-modules/KDEInstallDirsCommon.cmake:220 (_define_relative)
/usr/local/share/ECM/kde-modules/KDEInstallDirsCommon.cmake:387 (_define_absolute)
/usr/local/share/ECM/kde-modules/KDEInstallDirs6.cmake:203 (include)
/usr/local/share/ECM/kde-modules/KDEInstallDirs.cmake:17 (include)
CMakeLists.txt:31 (include)
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - yes
-- Found Threads: TRUE
Detected locale "C" with character encoding "US-ASCII", which is not UTF-8.
Qt depends on a UTF-8 locale, and has switched to "C.UTF-8" instead.
If this causes problems, reconfigure your locale. See the locale(1) manual
for more information.
-- Installing in the same prefix as Qt, adopting their path scheme.
Detected locale "C" with character encoding "US-ASCII", which is not UTF-8.
Qt depends on a UTF-8 locale, and has switched to "C.UTF-8" instead.
If this causes problems, reconfigure your locale. See the locale(1) manual
for more information.
Detected locale "C" with character encoding "US-ASCII", which is not UTF-8.
Qt depends on a UTF-8 locale, and has switched to "C.UTF-8" instead.
If this causes problems, reconfigure your locale. See the locale(1) manual
for more information.
Detected locale "C" with character encoding "US-ASCII", which is not UTF-8.
Qt depends on a UTF-8 locale, and has switched to "C.UTF-8" instead.
If this causes problems, reconfigure your locale. See the locale(1) manual
for more information.
Detected locale "C" with character encoding "US-ASCII", which is not UTF-8.
Qt depends on a UTF-8 locale, and has switched to "C.UTF-8" instead.
If this causes problems, reconfigure your locale. See the locale(1) manual
for more information.
-- Found Python3: /usr/local/bin/python3.14 (found version "3.14.5") found components: Interpreter
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success
Detected locale "C" with character encoding "US-ASCII", which is not UTF-8.
Qt depends on a UTF-8 locale, and has switched to "C.UTF-8" instead.
If this causes problems, reconfigure your locale. See the locale(1) manual
for more information.
-- The following OPTIONAL packages have been found:
* Qt6CoreTools
* Python3
* Qt6ToolsTools (required version >= 6.11.1)
* Qt6Tools
* Qt6
-- The following REQUIRED packages have been found:
* ECM (required version >= 6.10.0), Extra CMake Modules., <https://commits.kde.org/extra-cmake-modules>
* Rust
* Corrosion
-- Found Git: /usr/local/bin/git (found version "2.54.0")
-- Configuring done (49.7s)
-- Generating done (1.7s)
CMake Warning:
Manually-specified variables were not used by the project:
CMAKE_ASM_COMPILER_AR
CMAKE_ASM_COMPILER_RANLIB
CMAKE_Fortran_COMPILER_AR
CMAKE_Fortran_COMPILER_RANLIB
CMAKE_OBJCXX_COMPILER_AR
CMAKE_OBJCXX_COMPILER_RANLIB
CMAKE_OBJC_COMPILER_AR
CMAKE_OBJC_COMPILER_RANLIB
-- Build files have been written to: /usr/ports/pobj/cxx-rust-cssparser-1.0.0/build-amd64
===> Building for cxx-rust-cssparser-1.0.0
Change Dir: '/usr/ports/pobj/cxx-rust-cssparser-1.0.0/build-amd64'
Run Build Command(s): /usr/local/bin/ninja -v -j 1
[0/15] cd /usr/ports/pobj/cxx-rust-cssparser-1.0.0/cxx-rust-cssparser-v1.0.0-2c5cd92c14164e6da2b98beba1edeaecdc1445d1/rust && /usr/local/bin/cmake -E env CARGO_TARGET_X86_64_UNKNOWN_OPENBSD_LINKER=/usr/ports/pobj/cxx-rust-cssparser-1.0.0/bin/cc CC_x86_64-unknown-openbsd=/usr/ports/pobj/cxx-rust-cssparser-1.0.0/bin/cc CXX_x86_64-unknown-openbsd=/usr/ports/pobj/cxx-rust-cssparser-1.0.0/bin/c++ AR_x86_64-unknown-openbsd=/usr/bin/ar CORROSION_BUILD_DIR=/usr/ports/pobj/cxx-rust-cssparser-1.0.0/build-amd64/rust CARGO_BUILD_RUSTC=/usr/local/bin/rustc /usr/local/bin/cargo rustc --lib --target=x86_64-unknown-openbsd --package cxx-rust-cssparser-impl --crate-type=staticlib --crate-type=rlib --manifest-path /usr/ports/pobj/cxx-rust-cssparser-1.0.0/cxx-rust-cssparser-v1.0.0-2c5cd92c14164e6da2b98beba1edeaecdc1445d1/rust/Cargo.toml --target-dir /usr/ports/pobj/cxx-rust-cssparser-1.0.0/build-amd64/cargo/rust_75297 --release -- -Cdefault-linker-libraries=yes
Compiling proc-macro2 v1.0.106
Compiling unicode-ident v1.0.24
Compiling quote v1.0.45 ] 0/64: unicode-ident, proc-macro2(build.rs)
Compiling siphasher v1.0.2 ] 3/64: quote(build), proc-macro2(build)
Compiling find-msvc-tools v0.1.9 ] 4/64: proc-macro2(build), siphasher
Compiling rand_core v0.6.4 ] 6/64: find-msvc-tools, proc-macro2
Compiling syn v2.0.117 ] 8/64: quote, proc-macro2
Compiling shlex v1.3.0 ] 9/64: syn, proc-macro2
Compiling cc v1.2.60 ] 10/64: syn, shlex
Compiling rand v0.8.6 ] 11/64: syn, cc
Compiling phf_shared v0.11.3 ] 12/64: syn, rand
Compiling phf_generator v0.11.3 ] 13/64: phf_shared, syn
Compiling equivalent v1.0.2 ] 14/64: syn, phf_generator
Compiling hashbrown v0.17.0 ] 15/64: syn, equivalent
Compiling link-cplusplus v1.0.12 ] 16/64: hashbrown, syn
Compiling indexmap v2.14.0 ] 17/64: hashbrown, link-cplusplus(build.rs)
Compiling scratch v1.0.9 ] 19/64: indexmap, siphasher
Compiling phf_macros v0.11.3 ] 23/64: indexmap, link-cplusplus(build)
Compiling dtoa v1.0.11 ] 24/64: phf_macros, link-cplusplus(build)
Compiling unicode-width v0.2.2 ] 25/64: phf_macros, dtoa
Compiling termcolor v1.4.1 ] 26/64: phf_macros, unicode-width
Compiling cxxbridge-flags v1.0.194 ] 27/64: phf_macros, termcolor
Compiling cxx v1.0.194 ] 28/64: cxxbridge-flags, termcolor
Compiling codespan-reporting v0.13.1 ] 29/64: termcolor, cxx(build.rs)
Compiling phf v0.11.3=> ] 30/64: codespan-reporting, termcolor
Compiling dtoa-short v0.3.5 ] 31/64: codespan-reporting, phf
Compiling cssparser-macros v0.6.1 ] 33/64: codespan-reporting, scratch
Compiling phf_codegen v0.11.3 ] 34/64: scratch, cssparser-macros
Compiling itoa v1.0.18==> ] 35/64: phf_codegen, cssparser-macros
Compiling smallvec v1.15.1 ] 36/64: cssparser-macros, itoa
Compiling selectors v0.27.0 ] 37/64: cssparser-macros, smallvec
Compiling cssparser v0.35.0 ] 38/64: selectors(build.rs), smallvec
Compiling cxx-build v1.0.194 ] 39/64: cssparser, selectors(build.rs)
Compiling stable_deref_trait v1.2.1 ] 41/64: cxx-build, cxx(build)
Compiling byteorder v1.5.0=> ] 42/64: cxx-build, stable_deref_trait
Compiling cxx-rust-cssparser-impl v1.0.0 (/usr/ports/pobj/cxx-rust-cssparser-1.0.0/cxx-rust-cssparser-v1.0.0-2c5cd92c14164e6da2b98beba1edeaecdc1445d1/rust)
Compiling fxhash v0.2.1=====> ] 44/64: byteorder, cxx-rust-cssparser-impl(build.rs)
Compiling servo_arc v0.4.3==> ] 45/64: fxhash, cxx-rust-cssparser-impl(build.rs)
Compiling cxxbridge-macro v1.0.194 ] 48/64: link-cplusplus, servo_arc
Compiling derive_more v0.99.20> ] 49/64: cxxbridge-macro, servo_arc
Compiling memchr v2.8.0========> ] 50/64: cxxbridge-macro, derive_more
Compiling precomputed-hash v0.1.1 ] 51/64: cxxbridge-macro, memchr
Compiling foldhash v0.2.0======> ] 52/64: cxxbridge-macro, precomputed-hash
Compiling log v0.4.29===========> ] 53/64: foldhash, cxxbridge-macro
Compiling bitflags v2.11.1======> ] 54/64: cxxbridge-macro, log
Compiling new_debug_unreachable v1.0.6] 55/64: bitflags, cxxbridge-macro
Compiling nom v8.0.0==============> ] 58/64: cxx, selectors
Compiling cssparser-color v0.3.0===> ] 60/64: nom, cxx-rust-cssparser-impl(build)
Finished `release` profile [optimized] target(s) in 4m 57sparser-impl
[2/15] cd /usr/ports/pobj/cxx-rust-cssparser-1.0.0/build-amd64/rust && /usr/local/bin/cmake -E make_directory /usr/ports/pobj/cxx-rust-cssparser-1.0.0/build-amd64/lib && /usr/local/bin/cmake -E copy_if_different /usr/ports/pobj/cxx-rust-cssparser-1.0.0/build-amd64/cargo/rust_75297/x86_64-unknown-openbsd/release/libcxx_rust_cssparser_impl.a /usr/ports/pobj/cxx-rust-cssparser-1.0.0/build-amd64/lib
[3/15] cd /usr/ports/pobj/cxx-rust-cssparser-1.0.0/build-amd64/rust && /usr/local/bin/cmake -E make_directory /usr/ports/pobj/cxx-rust-cssparser-1.0.0/build-amd64/corrosion/cxxbridge_v1.0.194 && /usr/local/bin/cmake -E env CARGO_BUILD_RUSTC=/usr/local/bin/rustc /usr/local/bin/cargo install cxxbridge-cmd --version 1.0.194 --locked --root /usr/ports/pobj/cxx-rust-cssparser-1.0.0/build-amd64/corrosion/cxxbridge_v1.0.194 --quiet
FAILED: corrosion/cxxbridge_v1.0.194/bin/cxxbridge /usr/ports/pobj/cxx-rust-cssparser-1.0.0/build-amd64/corrosion/cxxbridge_v1.0.194/bin/cxxbridge
cd /usr/ports/pobj/cxx-rust-cssparser-1.0.0/build-amd64/rust && /usr/local/bin/cmake -E make_directory /usr/ports/pobj/cxx-rust-cssparser-1.0.0/build-amd64/corrosion/cxxbridge_v1.0.194 && /usr/local/bin/cmake -E env CARGO_BUILD_RUSTC=/usr/local/bin/rustc /usr/local/bin/cargo install cxxbridge-cmd --version 1.0.194 --locked --root /usr/ports/pobj/cxx-rust-cssparser-1.0.0/build-amd64/corrosion/cxxbridge_v1.0.194 --quiet
error: failed to select a version for the requirement `clap = "^4.3.11"` (locked to 4.5.54)
candidate versions found which didn't match: 4.6.1
location searched: directory source `/usr/ports/pobj/cxx-rust-cssparser-1.0.0/cxx-rust-cssparser-v1.0.0-2c5cd92c14164e6da2b98beba1edeaecdc1445d1/modcargo-crates` (which is replacing registry `crates-io`)
required by package `cxxbridge-cmd v1.0.194`
note: perhaps a crate was updated and forgotten to be re-vendored?
note: offline mode (via `--offline`) can sometimes cause surprising resolution failures
help: if this error is too confusing you may wish to retry without `--offline`
ninja: build stopped: subcommand failed.
*** Error 1 in . (/usr/ports/devel/cmake/cmake.port.mk:40 'do-build': @cd /usr/ports/pobj/cxx-rust-cssparser-1.0.0/build-amd64 && exec /usr/...)
*** Error 2 in . (/usr/ports/infrastructure/mk/bsd.port.mk:3075 '/usr/ports/pobj/cxx-rust-cssparser-1.0.0/build-amd64/.build_done': @cd /usr...)
*** Error 2 in /usr/ports/devel/cxx-rust-cssparser (/usr/ports/infrastructure/mk/bsd.port.mk:2722 'build': @lock=cxx-rust-cssparser-1.0.0; ...)
--
I see no formatting or grammar/spelling mistakes.
The only thing I noticed was that the crates.inc were missing licences
like in devel/cxxbridge-cmd.
I seem to have misplaced my notes for rust workflow in ports. Maybe
someone can post those again or link.
Don't think I am knowledgeable to comment on the below.
Hope this helps! Thanks for working on the qt6 and kde6(.7) updates!
--
yaydn
> First of all, I'd like to explain how this works – though this only
> applies to ONE Cargo dependency in a CMake project. I think we can give
> this some further thought should we encounter this problem.
>
> 1.) First, use devel/cargo to point to the toml file and generate
> ".include "crates.inc"".
>
> MODCARGO_CARGOTOML = ${WRKSRC}/rust/Cargo.toml
>
> 2.) We need corrosion
>
> BUILD_DEPENDS = devel/corrosion
> CONFIGURE_ARGS += -DINSTALLED_CXXBRIDGE=${LOCALBASE}/bin/cxxbridge-cmd
>
> 3.) Here’s the "hack" we should be discussing. I faked a new config.toml
> which points to your ${MODCARGO_VENDOR_DIR} (aka. Where are your
> crates.inc). This is was a quick and "not an rust user" solution
> https://doc.rust-lang.org/cargo/reference/source-replacement.html
> What do you think? I think this pattern could work for other
> cmake/c++/rust ports too.
>
> CONFIGURE_ENV += CARGO_HOME=${WRKDIR}/cargo-home
> MAKE_ENV += CARGO_HOME=${WRKDIR}/cargo-home
>
> pre-configure:
> mkdir -p ${WRKDIR}/cargo-home
> printf '%s\n' \
> '[source.crates-io]' \
> 'replace-with = "modcargo"' \
> '[source.modcargo]' \
> 'directory = "${MODCARGO_VENDOR_DIR}"' \
> '[net]' \
> 'offline = true' \
> > ${WRKDIR}/cargo-home/config.toml
>
>
> The result certainly works without any problems.
>
> Information for inst:cxx-rust-cssparser-1.0.0
>
> Comment:
> library for parsing CSS using the Rust cssparser crate
>
> Required by:
> kde-plamsa-union-6.7.0
>
> Description:
> A C++ library for parsing CSS that uses the Rust cssparser crate internally.
>
> Maintainer: The OpenBSD ports mailing-list <ports@openbsd.org>
>
> WWW: https://invent.kde.org/libraries/cxx-rust-cssparser
devel/cxx-rust-cssparser (HEADS UP rust hackers)