# File: rpm_specfiles/coprall-2.1.3-1.spec
# Adds desktop, icon files

Name:    ddcutil
Version: 2.2.0
Release: 1%{?dist}
Summary: Query and update monitor settings
License: GPLv2
# Note: Using rockowitz.github.io instead of www.ddcutil.com does not resolve problem 
#       that fedora-review reports Name or Service not known
URL:     http://www.ddcutil.com
Source:  http://www.ddcutil.com/tarballs/%{name}-%{version}.tar.gz

# Alternative architectures build successfully in Koji, but are generally untested
# How best to handle?
ExcludeArch: s390x         # builds successfully in Koji, but makes makes no sense given S390 hardware
# ExcludeArch: ppc64le     # builds successfully in Koji, untested
# ExcludeArch: ppc64       # builds successfully in Koji, tested
# ExcludeArch: ppc         # builds successfully in Koji, untested

# %%{echo:fedora_version is %%{?fedora_version}, }
# %%{echo:suse_version   is %%{?suse_version},   }
# %%{echo:fedora         is %%{?fedora},         }
# %%{echo:suse           is %%{?suse},           }
# %%{echo:dist           is %%{dist},            }


BuildRequires: automake              >= 1.13.4
BuildRequires: autoconf              >= 2.50
BuildRequires: gcc
BuildRequires: pkgconfig(glib-2.0)   >= 2.32
BuildRequires: pkgconfig(libdrm)     >= 2.4.16
BuildRequires: pkgconfig(libkmod)
%if 0%{?fedora}
BuildRequires: libi2c-devel          >= 4.0
%endif
%if 0%{?suse_version}
BuildRequires: libi2c0-devel         >= 4.0
BuildRequires: libkmod-devel
%endif
BuildRequires: pkgconfig(jansson)    >= 2.0
BuildRequires: pkgconfig(libudev)
BuildRequires: pkgconfig(libusb-1.0) >= 1.0.15
# BuildRequires: pkgconfig(python3)    >= 3.4
BuildRequires: pkgconfig(systemd)
BuildRequires: pkgconfig(xrandr)
BuildRequires: pkgconfig(zlib)

# OpenSUSE 13.1, 13.2 requires i2c-tools for header file linux/i2c-dev.h
BuildRequires: i2c-tools

Requires(pre): shadow-utils

Requires: i2c-tools

%description 
Query and change monitor settings

ddcutil communicates with monitors implementing MCCS (Monitor Control Command
Set), using either the DDC/CI protocol on the I2C bus or as a Human Interface
Device on USB.  In general, anything that can be controlled using a monitor's
on-screen display can be controlled by this program.  Examples include 
changing a monitor's input source and adjusting its brightness.


%package -n libddcutil5
Summary: Shared library to query and update monitor settings
Group: System Environment/Libraries

%description -n libddcutil5
Shared library version of ddcutil, exposing a C API.

ddcutil communicates with monitors implementing MCCS (Monitor Control Command
Set), using either the DDC/CI protocol on the I2C bus or as a Human Interface
Device on USB.

%package -n libddcutil-devel
Summary: Development files for libddcutil
Group: System/Libraries
Requires: libddcutil5 >= %{version}

%description -n libddcutil-devel
Header files for libddcutil


# belt and suspenders:
%global _hardened_build 1

%prep
%setup -q
rpm --version
rpmbuild --version

%build
%configure --enable-lib=yes
%make_build V=1

%check

%install
%make_install

#
# Package ddcutil
#

%files
%doc     AUTHORS NEWS.md README.md CHANGELOG.md
%license COPYING

%{_datadir}/%{name}

# %%dir %%{_datadir}/%%{name}
# %%dir %%{_datadir}/%%{name}/data
# %%{_datadir}/%%{name}/data/*rules
# %%{_datadir}/%%{name}/data/90-nvidia-i2c.conf

%{_mandir}/man1/ddcutil.1*
%{_bindir}/ddcutil
%{_prefix}/lib/udev/rules.d/60-ddcutil-i2c.rules
%{_prefix}/lib/modules-load.d/ddcutil.conf

# For future appstream:
# %%{_datadir}/applications/ddcutil.desktop
# %%{_datadir}/icons
# %%{_datadir}/pixmaps/ddcutil.png
# %%{_datadir}/metainfo/ddcutil.appdata.xml

#
# Package libddcutil
#

%files -n libddcutil5
%defattr(-,root,root)
%{_libdir}/libddcutil.so.*

%doc     README.md AUTHORS NEWS.md  CHANGELOG.md
%license COPYING

#
# Package libddcutil-devel
#

%files -n libddcutil-devel
%defattr(-,root,root)
%{_includedir}/ddcutil_types.h
%{_includedir}/ddcutil_status_codes.h
%{_includedir}/ddcutil_macros.h
%{_includedir}/ddcutil_c_api.h
%{_libdir}/pkgconfig/ddcutil.pc
# %%{_datadir}/pkgconfig/ddcutil.pc
%{_libdir}/libddcutil.so
%dir %{_libdir}/cmake   
%dir %{_libdir}/cmake/%{name}           
%{_libdir}/cmake/%{name}/FindDDCUtil.cmake

%doc README.md AUTHORS NEWS.md  CHANGELOG.md
%license COPYING


%changelog

* Sun Feb 16 2025 Sanford Rockowitz <rockowitz@minsoft.com> 2.2.0-1
- Release 2.1.3

* Wed Feb 07 2024 Sanford Rockowitz <rockowitz@minsoft.com> 2.1.3-1
- Release 2.1.3

* Sat Jan 27 2024 Sanford Rockowitz <rockowitz@minsoft.com> 2.1.2-1
- Release 2.1.2

* Thu Jan 11 2024 Sanford Rockowitz <rockowitz@minsoft.com> 2.1.0-1
- Release 2.1.0

* Fri Sep 08 2023 Sanford Rockowitz <rockowitz@minsoft.com> 2.0.0-1
- Release 2.0.0

* Mon Feb 20 2023 Sanford Rockowitz <rockowitz@minsoft.com> 1.4.2-1
- Release 1.4.2

* Mon Jan 16 2023 Sanford Rockowitz <rockowitz@minsoft.com> 1.4.1-1
- Release 1.4.1

* Mon Jan 09 2023 Sanford Rockowitz <rockowitz@minsoft.com> 1.4.0-1
- Release 1.4.0

* Fri Jul 22 2022 Sanford Rockowitz <rockowitz@minsoft.com> 1.3.0-1
- Release 1.3.0

* Thu Jan 27 2022 Sanford Rockowitz <rockowitz@minsoft.com> 1.2.2-1
- Release 1.2.2

* Thu Dec 02 2021 Sanford Rockowitz <rockowitz@minsoft.com> 1.2.1-1
- Release 1.2.1

* Thu Mar 25 2021 Sanford Rockowitz <rockowitz@minsoft.com> 1.1.0-1
- Release 1.1.0

* Sun Feb 07 2021 Sanford Rockowitz <rockowitz@minsoft.com> 1.0.1-1
- Release 1.0.1

* Wed Feb 03 2021 Sanford Rockowitz <rockowitz@minsoft.com> 1.0.0-1
- Release 1.0.0
- For a complete list of changes and bug fixes, 
  see http://www.ddcutil.com/release_notes

* Sat Jun 13 2020 Sanford Rockowitz <rockowitz@minsoft.com> 0.9.9-1
- Release 0.9.9
- For a complete list of changes and bug fixes, 
  see http://www.ddcutil.com/release_notes

* Mon Oct 28 2019 Sanford Rockowitz <rockowitz@minsoft.com> 0.9.9-1
- Release 0.9.8
- Minor enhancements and bug fixes
- For a complete list of changes and bug fixes, 
  see http://www.ddcutil.com/release_notes.

* Tue Sep 03 2019 Sanford Rockowitz <rockowitz@minsoft.com> 0.9.7-1
- Release 0.9.7
- Minor enhancements and bug fixes
- For a complete list of changes and bug fixes, 
  see http://www.ddcutil.com/release_notes.

* Sun Aug 04 2019 Sanford Rockowitz <rockowitz@minsoft.com> 0.9.6-1
- Release 0.9.6
- Minor enhancements and bug fixes
- For a complete list of changes and bug fixes, 
  see http://www.ddcutil.com/release_notes.

* Sun Feb 24 2019 Sanford Rockowitz <rockowitz@minsoft.com> 0.9.5-1
- Release 0.9.5
- Minor enhancements and bug fixes
- For a complete list of changes and bug fixes, 
  see http://www.ddcutil.com/release_notes.

* Tue Dec 25 2018 Sanford Rockowitz <rockowitz@minsoft.com> 0.9.4-1
- Release 0.9.4
- Minor bug fixes
- For a complete list of changes and bug fixes, 
  see http://www.ddcutil.com/release_notes.

* Sun Nov 25 2018 Sanford Rockowitz <rockowitz@minsoft.com> 0.9.4-1
- Release 0.9.4
- Minor enhancements and bug fixes
- For a complete list of changes and bug fixes, 
  see http://www.ddcutil.com/release_notes.

* Sat Nov 24 2018 Sanford Rockowitz <rockowitz@minsoft.com> 0.9.3-1
- Release 0.9.3
- Minor enhancements and bug fixes
- Internal changes for future support of user supplied feature definitions.
- For a complete list of changes and bug fixes, 
  see http://www.ddcutil.com/release_notes.

* Sat Sep 01 2018 Sanford Rockowitz <rockowitz@minsoft.com> 0.9.2-1
- Release 0.9.2
- Minor enhancements and bug fixes
- For a complete list of changes and bug fixes, 
  see http://www.ddcutil.com/release_notes for details.

* Sun May 27 2018 Sanford Rockowitz <rockowitz@minsoft.com> 0.9.1-1
- Release 0.9.1
- Minor bug fix
- For a complete list of changes and bug fixes, 
  see http://www.ddcutil.com/release_notes for details.

* Sun May 13 2018 Sanford Rockowitz <rockowitz@minsoft.com> 0.9.0-1
- Release 0.9.0
- Minor enhancements and bug fixes.
- For a complete list of changes and bug fixes, 
  see http://www.ddcutil.com/release_notes for details.

* Fri Jan 19 2018 Sanford Rockowitz <rockowitz@minsoft.com> 0.8.6-1
- Release 0.8.6
- Changed "Recommends: i2c-tools" to "Requires: i2c-tools"
- Minor enhancements and bug fixes.
- For a complete list of changes and bug fixes, 
  see http://www.ddcutil.com/release_notes for details.

* Wed Nov 29 2017 Sanford Rockowitz <rockowitz@minsoft.com> 0.8.5-1
- Release 0.8.5
- Spec file cleanup
- Architecture s390x is execluded since this utility makes no sense in that
  environment.
- Minor enhancements and bug fixes, particularly for 32 bit environments.
- For a complete list of changes and bug fixes, 
  see http://www.ddcutil.com/release_notes for details.

* Thu Nov 16 2017 Sanford Rockowitz <rockowitz@minsoft.com> 0.8.4-1
- Minor enhancements and bug fixes. 
- For a complete list of changes and bug fixes,
  see http://www.ddcutil.com/release_notes

* Sat Jul 22 2017 Sanford Rockowitz <rockowitz@minsoft.com> 0.8.4-1
- Changes to conform to Fedora packaging standards
- Minor enhancements and bug fixes. 
- For a complete list of changes and bug fixes,
  see http://www.ddcutil.com/release_notes

* Sat May 20 2017 Sanford Rockowitz <rockowitz@minsoft.com> 0.8.3-1
- Changes for Fedora packaging

* Wed May 17 2017 Sanford Rockowitz <rockowitz@minsoft.com> 0.8.2-1
- Minor enchancements to diagnostics in the environment and interrogate
  commands
- For a complete list of changes and bug fixes, 
  see http://www.ddcutil.com/release_notes

* Sat May 06 2017 Sanford Rockowitz <rockowitz@minsoft.com> 0.8.1-1
- Fixes a segfault that can occur when scanning for USB connected monitors.
- For a complete list of changes and bug fixes, 
  see http://www.ddcutil.com/release_notes

* Mon May 01 2017 Sanford Rockowitz <rockowitz@minsoft.com> 0.8.0-1
- Added options --async and --nodetect to improve performance
- By default, setvcp and loadvcp read the VCP value after the value has been
  set, to confirm that the monitor has made the change requested.
- Command "getvcp --terse" now reports VCP settings in a form that is easily
  machine readable.
- For a complete list of changes and bug fixes,
  see http://www.ddcutil.com/release_notes

* Sun Mar 05 2017 Sanford Rockowitz <rockowitz@minsoft.com> 0.7.3-1
- For a complete list of changes and bug fixes for this and earlier releases, 
  see http://www.ddcutil.com/release_notes