# https://docs.fedoraproject.org/en-US/quick-docs/publish-rpm-on-copr # https://rpm-software-management.github.io/rpm/manual/macros.html # https://rpm-packaging-guide.github.io/ %global _owner pgnd %global _build_timestamp %( date +%%Y%%m%%d_%%H%%M%%S --utc ) %global _dist .%{_build_timestamp}.%{_owner}.fc%{fedora} # https://stackoverflow.com/questions/47838041/rpmbuild-how-to-disable-check-buildroot # https://rpm-software-management.github.io/rpm/manual/dependency_generators.html # %%global __spec_install_pre /bin/true # %%global __arch_install_post %%{nil} # %%global __os_install_post %%{nil} %global _disable_source_fetch 0 %global debug_package %{nil} # %%undefine _auto_set_build_flags %global _hardened_build 1 # %%global __brp_mangle_shebangs %%{nil} # %%global __brp_strip %%{nil} # %%global __requires_exclude ^.*/xxx/bin/python.*$ # %%global __requires_exclude_from ^.*/xxx/bin/python.*$ # %%global _build_id_links none # %%bcond_with XXX : opt build with XXX; default, without # %%bcond_without XXX : opt build without XXX; default, with # DDCUTIL # https://github.com/rockowitz/ddcutil %global _ddc_name ddcutil %global _ddc_pkgnm ddcutil %global _ddc_comment Query and update monitor settings %global _ddc_descrip %{expand: %{_ddc_comment}.} # https://spdx.org/licenses/GPL-2.0-only.html %global _ddc_license GPL-2.0-only %global _ddc_install_dir /usr/local/ddcutil-pgnd %global _ddc_modload_dir /etc/modules-load.d %global _ddc_c /usr/bin/gcc %global _ddc_cxx /usr/bin/g++ %global _ddc_linker /usr/bin/ld.bfd # https://docs.fedoraproject.org/en-US/packaging-guidelines/SourceURL/ # https://github.com/rockowitz/ddcutil %global _ddc0_scm_host https://github.com %global _ddc0_scm_repo rockowitz/ddcutil %global _ddc0_scm_branch 2.1.5-dev # %%global _ddc0_scm_branch 1.4.5-release %global _ddc0_scm_url %{_ddc0_scm_host}/%{_ddc0_scm_repo} %global _ddc0_scm_commit %( git ls-remote %{_ddc0_scm_url} | grep /%{_ddc0_scm_branch}$ | cut -f1 ) %global _ddc0_scm_shortcommit %( c=%{_ddc0_scm_commit}; echo ${c} | head -c 7 ) %global _ddc0_scm_repo_esc %( echo %{_ddc0_scm_repo} | sed 's|_|-|g' | sed 's|/|%2F|g') %global _ddc0_scm_repo_norm %( echo %{_ddc0_scm_repo} | sed 's|_|-|g' | sed 's|/|-|g' ) %global _ddc0_scm_branch_norm %( echo %{_ddc0_scm_branch} | sed 's|_|-|g' | sed 's|/|-|g' ) # GH API: # https://docs.github.com/en/rest/repos/contents %global _ddc0_scm_host_api https://api.github.com/repos %global _ddc0_scm_tarball %{_ddc0_scm_host_api}/%{_ddc0_scm_repo}/tarball/%{commit0} %global _ddc0_scm_extract_dir %{_ddc0_scm_repo_norm}-%{shortcommit0} %global forgeurl0 %{_ddc0_scm_url} %global commit0 %{_ddc0_scm_commit} %global shortcommit0 %{_ddc0_scm_shortcommit} %global forgesource0 %{_ddc0_scm_tarball} %global extractdir0 %{_ddc0_scm_extract_dir} %global forgesetupargs0 -T -D -b 0 -n %{extractdir0} %forgemeta -i -a %global dist %{_dist} # Vendor Pinning Vendor: %{_owner} # NEVRA (n-e:v-r.a) Name: %{_ddc_pkgnm} Epoch: 3 # https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning/ Version: %{scm0}_%( echo %{_ddc0_scm_branch} | sed 's|-|_|g' ) Release: 0%{?dist} # https://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/ %global _same_evr %{epoch}:%{version}-%{release} Summary: %{_ddc_comment} License: %{_ddc_license} URL: %{forgeurl0} Source0: %{forgesource0} Source100: ddc-mod.conf BuildRequires: automake BuildRequires: autoconf BuildRequires: libtool BuildRequires: gcc BuildRequires: make BuildRequires: pkgconf BuildRequires: pkgconfig(glib-2.0) >= 2.40 BuildRequires: pkgconfig(libusb-1.0) >= 1.0.15 BuildRequires: pkgconfig(systemd) BuildRequires: pkgconfig(libudev) BuildRequires: pkgconfig(xrandr) BuildRequires: pkgconfig(libdrm) >= 2.4.67 BuildRequires: pkgconfig(libkmod) BuildRequires: pkgconfig(jansson) >= 2.0 Requires: libi2c Requires: i2c-tools Requires: i2c-tools-perl Recommends: /usr/bin/lsusb Recommends: /usr/bin/modprobe Recommends: /usr/bin/lscpu Recommends: /usr/bin/lsb_release %description %{_ddc_descrip} %prep echo '##### STARTING PREP #####' %forgesetup -a %build echo '##### STARTING BUILD #####' cd %{_builddir}/%{extractdir0} chmod +x autogen.sh NOCONFIGURE=1 ./autogen.sh ./configure \ --prefix=%{_ddc_install_dir} \ --libdir=%{_ddc_install_dir}/lib64 \ --enable-lib=yes \ --enable-drm=yes \ --enable-x11=yes make \ V=1 \ -j${RPM_BUILD_NCPUS} %install echo '##### STARTING INSTALL #####' cd %{_builddir}/%{extractdir0} make install DESTDIR=${RPM_BUILD_ROOT} mkdir -p ${RPM_BUILD_ROOT}/%{_ddc_modload_dir} install -D -p -m 644 -v \ %{SOURCE100} \ ${RPM_BUILD_ROOT}/%{_ddc_modload_dir}/ddc.conf %post modprobe i2c_dev %preun %postun %files # http://ftp.rpm.org/max-rpm/s1-rpm-inside-files-list-directives.html %{_ddc_install_dir} %{_ddc_modload_dir}/ddc.conf %changelog * Fri Apr 19 2024 pgnd _ - bump 1713528292