File usbprog.spec of Package usbprog

#
# spec file for package usbprog
#
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#


# RHEL and CentOS have no wxGTK, so we cannot build the GUI here
%if 0%{?rhel_version} || 0%{?centos_version}
%define         build_gui 0
%define         readme_name README.RedHat
%define         group_name uucp
%endif

%if 0%{?fedora_version}
%define         build_gui 1
%define         readme_name README.Fedora
%define         group_name dialout
%endif

%if 0%{?suse_version}
%define         build_gui 1
%define         readme_name README.SUSE

%if 0%{?suse_version} >= 1120
%define         group_name dialout
%else
%define         group_name uucp
%endif

%endif

Name:           usbprog
Version:        0.2.0
Release:        0
Url:            http://www.embedded-projects.net/index.php?page_id=165
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
Source0:        %{name}-%{version}.tar.bz2
Source1:        README.distribution
Patch1:         usbprog-wxwidgets-3.0.diff
Summary:        Programmer for the USBprog hardware
License:        GPL-2.0+ and CC-BY-SA-3.0
Group:          Development/Tools/Other

BuildRequires:  gcc-c++
BuildRequires:  readline-devel
BuildRequires:  pkgconfig(libusb)
BuildRequires:  pkgconfig(libxml-2.0)
BuildRequires:  pkgconfig(udev)
%if %{build_gui}
BuildRequires:  python-wxWidgets-3_0
BuildRequires:  wxWidgets-3_0-devel
%endif
BuildRequires:  pkg-config
BuildRequires:  pkgconfig(libcurl)

%define _udevdir %(pkg-config --variable=udevdir udev)
%define _udevrulesdir %{_udevdir}/rules.d

%description
USBprog is a programmer for the USBprog hardware.

%if %{build_gui}

%package gui
Requires:       %{name} = %{version}
Summary:        GUI program of USBprog
Group:          Development/Tools/Other

%description gui
A wxGTK version of the USBprog programmer.

%endif

%package -n libusbprog0
Requires:       %{name} = %{version}
Summary:        USBprog Library
Group:          Development/Tools/Other

%description -n libusbprog0
Library for USBprog.

%package devel
Requires:       %{name} = %{version}
Summary:        Development files for libusbprog
Group:          Development/Tools/Other

%description devel
Header files for libusbprog.

%prep
%setup -q
%patch1 -p1

%build
%configure
make %{?_smp_mflags}

%install
%makeinstall
%if %{build_gui} == 0
rm -f $RPM_BUILD_ROOT/%{_datadir}/applications/usbprog.desktop
rm -f $RPM_BUILD_ROOT/%{_datadir}/pixmaps/usbprog_icon.xpm
%endif
rm -f $RPM_BUILD_ROOT/%{_libdir}/*.*a
mkdir -p %{buildroot}%{_udevrulesdir}
sed -e 's/@@USBPROG_GROUP@@/'%{group_name}'/g' usbprog.rules.in \
        > %{buildroot}%{_udevrulesdir}/98-usbprog.rules
sed -e 's/@@USBPROG_GROUP@@/'%{group_name}'/g' %{S:1} > %{readme_name}

%post -n libusbprog0 -p /sbin/ldconfig

%postun -n libusbprog0 -p /sbin/ldconfig

%files
%defattr(-,root,root)
%doc README COPYING ChangeLog NEWS %{readme_name}
%doc %{_datadir}/doc/usbprog/USBprog.pdf
%dir %{_datadir}/doc/usbprog
%{_bindir}/usbprog
%{_mandir}/man1/usbprog.1*
%{_udevrulesdir}/98-usbprog.rules

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

%if %{build_gui}

%files gui
%defattr(-,root,root)
%{_bindir}/usbprog-gui
%{_datadir}/applications/usbprog.desktop
%{_datadir}/pixmaps/usbprog_icon.xpm
%{_mandir}/man1/usbprog-gui.1*

%endif

%files devel
%defattr(-,root,root)
%{_includedir}/usbprog
%{_libdir}/*so

%changelog
openSUSE Build Service is sponsored by