%global debug_package %{nil} URL: https://github.com/MCC45TR/uke-linux-hardware-support Source0: uke-libssc-0.4.4.tar.xz ExclusiveArch: aarch64 BuildRequires: bash gcc gcc-c++ meson ninja-build pkgconf-pkg-config BuildRequires: libasan libubsan BuildRequires: meson = 1.12.1-2.fc46 BuildRequires: pkgconfig(glib-2.0) pkgconfig(gio-2.0) pkgconfig(qmi-glib) BuildRequires: pkgconfig(libprotobuf-c) protobuf-c-compiler protobuf-compiler BuildRequires: python3 = 3.15.2-1.fc46 Name: uke-libssc Version: 0.4.4 Release: 20.fc46 License: GPL-3.0-or-later Summary: Native Qualcomm Sensor Core client library Provides: libssc = 0.4.4-20.fc46 Provides: libssc%{?_isa} = 0.4.4-20.fc46 Obsoletes: libssc < 0.4.4-20.fc46 Conflicts: libssc %description -n uke-libssc Upstream SSC library and diagnostic client. Python mock servers are excluded from the runtime. Sensor availability and calibration depend on device firmware. %package -n uke-libssc-devel Version: 0.4.4 Release: 20.fc46 License: GPL-3.0-or-later Summary: Development files for uke-libssc Requires: uke-libssc(aarch-64) = 0.4.4-20.fc46 Provides: libssc-devel = 0.4.4-20.fc46 Provides: libssc-devel%{?_isa} = 0.4.4-20.fc46 Obsoletes: libssc-devel < 0.4.4-20.fc46 Conflicts: libssc-devel %description -n uke-libssc-devel Headers and pkg-config metadata for native SSC clients. %prep %setup -q ( mkdir -p "%{_builddir}/uke-libssc-0.4.4/work/libssc" echo '716d6bd6b34d2d753060c6b54c9a87e34fae75b724c763bf9ef487efa3621587 %{_builddir}/uke-libssc-0.4.4/inputs/libssc/libssc-v0.4.4.tar.gz' | sha256sum -c - cd '%{_builddir}/uke-libssc-0.4.4/work/libssc' rm -rf 'libssc' /usr/bin/rpmuncompress -x '%{_builddir}/uke-libssc-0.4.4/inputs/libssc/libssc-v0.4.4.tar.gz' STATUS=$? if [ $STATUS -ne 0 ]; then exit $STATUS fi cd 'libssc' /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . /usr/bin/rpmuncompress %{_builddir}/uke-libssc-0.4.4/inputs/libssc/0001-optional-python-mocks.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f /usr/bin/rpmuncompress %{_builddir}/uke-libssc-0.4.4/inputs/libssc/0002-report-qrtr-error.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f /usr/bin/rpmuncompress %{_builddir}/uke-libssc-0.4.4/inputs/libssc/0003-gyroscope-cli-units.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f /usr/bin/rpmuncompress %{_builddir}/uke-libssc-0.4.4/inputs/libssc/0004-light-data-type-and-validity.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f /usr/bin/rpmuncompress %{_builddir}/uke-libssc-0.4.4/inputs/libssc/0005-preserve-nonzero-mount-matrix.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f /usr/bin/rpmuncompress %{_builddir}/uke-libssc-0.4.4/inputs/libssc/0006-bounded-proximity-unpack-context.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f /usr/bin/rpmuncompress %{_builddir}/uke-libssc-0.4.4/inputs/libssc/0007-reject-invalid-proximity-values.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f ) %build ( cd "%{_builddir}/uke-libssc-0.4.4/work/libssc/libssc" CFLAGS="${CFLAGS:--O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer }" ; export CFLAGS ; CXXFLAGS="${CXXFLAGS:--O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer }" ; export CXXFLAGS ; FFLAGS="${FFLAGS:--O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules }" ; export FFLAGS ; FCFLAGS="${FCFLAGS:--O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules }" ; export FCFLAGS ; VALAFLAGS="${VALAFLAGS:--g}" ; export VALAFLAGS ; RUSTFLAGS="${RUSTFLAGS:--Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn}" ; export RUSTFLAGS ; LDFLAGS="${LDFLAGS:--Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes }" ; export LDFLAGS ; LT_SYS_LIBRARY_PATH="${LT_SYS_LIBRARY_PATH:-/usr/lib64:}" ; export LT_SYS_LIBRARY_PATH ; CC="${CC:-gcc}" ; export CC ; CXX="${CXX:-g++}" ; export CXX meson setup build --prefix=/usr --libdir=lib64 --buildtype=release -Dtests=false meson compile -C build ) %install ( cd "%{_builddir}/uke-libssc-0.4.4/work/libssc/libssc" DESTDIR=%{buildroot} meson install -C build --no-rebuild ) %check ( cd "%{_builddir}/uke-libssc-0.4.4/work/libssc/libssc" bash %{_builddir}/uke-libssc-0.4.4/inputs/libssc/libssc-mount-matrix.sh src/libssc-sensor.c test -s build/src/libssc.so.2 g++ -std=c++20 -UNDEBUG -Wall -Wextra -Werror -I src %{_builddir}/uke-libssc-0.4.4/inputs/libssc/libssc-light-constructor.cpp \ $(pkg-config --cflags --libs gio-2.0) -L build/src -lssc -o light-constructor-test LD_LIBRARY_PATH="$PWD/build/src" ./light-constructor-test g++ -std=c++20 -UNDEBUG -Wall -Wextra -Werror -pthread -I src %{_builddir}/uke-libssc-0.4.4/inputs/libssc/libssc-proximity-context.cpp \ $(pkg-config --cflags --libs glib-2.0) -o proximity-context-test ./proximity-context-test bash %{_builddir}/uke-libssc-0.4.4/inputs/libssc/libssc-proximity-values.sh src/libssc-sensor-proximity.c SANITIZE=1 bash %{_builddir}/uke-libssc-0.4.4/inputs/libssc/libssc-proximity-values.sh src/libssc-sensor-proximity.c if find %{buildroot} -type f \( -name '*.py' -o -iname '*python*' \) | grep -q .; then exit 1; fi ) %files -n uke-libssc %license work/libssc/libssc/LICENSE /usr/lib64/libssc.so.2 /usr/bin/ssccli %files -n uke-libssc-devel /usr/include/libssc/ /usr/lib64/libssc.so /usr/lib64/pkgconfig/libssc.pc %changelog * Thu Oct 29 2026 Senemos Maintainers <75160848+MCC45TR@users.noreply.github.com> - 0.4.4-20.fc46 - Build this component independently from its reviewed source recipe.