Name: solidcraft Version: 0.19.0 Release: 1%{?dist} Summary: Open-source parametric 3D CAD application License: MIT OR Apache-2.0 URL: https://github.com/tangency-labs/solidcraft Source0: %{url}/archive/refs/tags/v%{version}/%{name}-%{version}.tar.gz # The desktop and GPU libraries are loaded dynamically, so RPM's automatic ELF # dependency generator cannot discover them. Requires: libxkbcommon.so.0()(64bit) Requires: libxkbcommon-x11.so.0()(64bit) Requires: libwayland-client.so.0()(64bit) Requires: libX11.so.6()(64bit) Requires: libX11-xcb.so.1()(64bit) Requires: libxcb.so.1()(64bit) Requires: libXcursor.so.1()(64bit) Requires: libXi.so.6()(64bit) Requires: (libvulkan.so.1()(64bit) or libEGL.so.1()(64bit)) Recommends: mesa-vulkan-drivers Recommends: xdg-desktop-portal Provides: solvecraft = %{version}-%{release} Obsoletes: solvecraft < %{version}-%{release} BuildRequires: appstream BuildRequires: cargo >= 1.95 BuildRequires: cmake BuildRequires: desktop-file-utils BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: make BuildRequires: perl-interpreter BuildRequires: pkgconf-pkg-config BuildRequires: rust >= 1.95 ExclusiveArch: x86_64 aarch64 %description SolidCraft is an independent parametric 3D CAD application. It provides constraint-based sketches, a parametric feature timeline, assemblies, sheet metal tools, and import and export support for common 3D formats. This package also includes solidcraft-cli, a headless command runner and MCP server for automation and AI agents. %prep %autosetup %build # COPR must enable network access for this build. Cargo.lock fixes every crate # version and --locked prevents dependency resolution from changing it. export CARGO_BUILD_JOBS=%{_smp_build_ncpus} cargo build --release --locked -p solidcraft -p solidcraft-cli %install install -Dpm0755 target/release/solidcraft \ %{buildroot}%{_bindir}/solidcraft install -Dpm0755 target/release/solidcraft-cli \ %{buildroot}%{_bindir}/solidcraft-cli install -Dpm0755 target/release/solvecraft-cli \ %{buildroot}%{_bindir}/solvecraft-cli install -Dpm0644 \ assets/platforms/linux/ai.storyteller.solidcraft.desktop \ %{buildroot}%{_datadir}/applications/ai.storyteller.solidcraft.desktop install -Dpm0644 \ assets/platforms/linux/ai.storyteller.solidcraft.mime.xml \ %{buildroot}%{_datadir}/mime/packages/ai.storyteller.solidcraft.xml mkdir -p %{buildroot}%{_metainfodir} sed -e 's/@VERSION@/%{version}/g' \ -e 's/@DATE@/2026-10-22/g' \ assets/platforms/linux/ai.storyteller.solidcraft.metainfo.xml.in \ > %{buildroot}%{_metainfodir}/ai.storyteller.solidcraft.metainfo.xml for size in 16 24 32 48 64 128 256 512; do install -Dpm0644 \ assets/icons/app/linux/exports/hicolor/${size}x${size}/apps/ai.storyteller.solidcraft.png \ %{buildroot}%{_datadir}/icons/hicolor/${size}x${size}/apps/ai.storyteller.solidcraft.png done %check desktop-file-validate \ %{buildroot}%{_datadir}/applications/ai.storyteller.solidcraft.desktop appstreamcli validate --no-net \ %{buildroot}%{_metainfodir}/ai.storyteller.solidcraft.metainfo.xml %{buildroot}%{_bindir}/solidcraft-cli --version | grep -F '%{version}' %files %license LICENSE-APACHE LICENSE-MIT %doc NOTICE README.md THIRD-PARTY-LICENSES.txt %{_bindir}/solidcraft %{_bindir}/solidcraft-cli %{_bindir}/solvecraft-cli %{_datadir}/applications/ai.storyteller.solidcraft.desktop %{_datadir}/icons/hicolor/*/apps/ai.storyteller.solidcraft.png %{_datadir}/mime/packages/ai.storyteller.solidcraft.xml %{_metainfodir}/ai.storyteller.solidcraft.metainfo.xml %changelog * Thu Oct 22 2026 COPR Builder - 0.19.0-1 - Initial COPR package