Blob Blame History Raw
%global libpkg libconcord

Name: concordance
Version: 1.2
Release: 9%{?dist}
Summary: Software to program the Logitech Harmony remote control

Group: Applications/Communications
License: GPLv3+
URL: http://www.phildev.net/concordance/
Source0: http://downloads.sourceforge.net/sourceforge/concordance/%{name}-%{version}.tar.bz2

BuildRequires: hidapi-devel
BuildRequires: swig
BuildRequires: perl(ExtUtils::MakeMaker)
BuildRequires: python2-devel
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: libtool
BuildRequires: libzip-devel
Requires: %{libpkg} = %{version}-%{release}

%description
This software will allow you to program your Logitech Harmony universal
remote control.


%package -n %{libpkg}
Summary: Library to talk to Logitech Harmony universal remote controls
Group: Development/Libraries
Requires: udev
# For usbnet-based remotes: 900, 1000, 1100
Requires: dnsmasq
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig

%description -n %{libpkg}
Library to talk to Logitech Harmony universal remote controls


%package -n %{libpkg}-devel
Summary: Development libraries for libconcord
Group: Development/Libraries
Requires: %{libpkg} = %{version}-%{release}

%description -n %{libpkg}-devel
Development libraries for libconcord


%package -n %{libpkg}-perl
Summary: Perl bindings for libconcord
Group: Development/Libraries
Requires: %{libpkg} = %{version}-%{release}
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))

%description -n %{libpkg}-perl
Perl bindings for libconcord


%package -n python2-%{libpkg}
Summary: Python 2 bindings for libconcord
Group: Development/Libraries
Requires: %{libpkg} = %{version}-%{release}
BuildArch: noarch
# Remove these eventually (when F23 goes EOL?)
Provides: %{libpkg}-python = %{version}-%{release}
Obsoletes: %{libpkg}-python < 1.2-7

%description -n python2-%{libpkg}
Python 2 bindings for libconcord


%prep
%setup -q


%build
cd %{libpkg}

%configure --disable-static --disable-mime-update
make %{_smp_mflags}
cd -

# perl bindings
cd %{libpkg}/bindings/perl
swig -perl5 concord.i
%{__perl} Makefile.PL INSTALLDIRS=vendor INC=-I../../
#sed -i -e 's|LDFLAGS =|LDFLAGS = -L../../|' Makefile
make %{_smp_mflags}
cd -

# python bindings
cd %{libpkg}/bindings/python
%py2_build
cd -

cd %{name}
export CFLAGS="%{optflags} -I../libconcord"
export LDFLAGS="%{__global_ldflags} -L../libconcord/.libs"
%configure --enable-shared
make %{_smp_mflags}


%install
cd %{libpkg}
make DESTDIR=%{buildroot} install
make DESTDIR=%{buildroot} install_udev

find %{buildroot} -type f -name \*.a -exec %{__rm} -f {} \;
find %{buildroot} -type f -name \*.la -exec %{__rm}  -f {} \;
cd -

# perl bindings
cd %{libpkg}/bindings/perl
make pure_install PERL_INSTALL_ROOT=%{buildroot}
find %{buildroot} -type f -name .packlist -exec rm -f {} ';'
find %{buildroot} -type f -name '*.bs' -a -size 0 -exec rm -f {} ';'
find %{buildroot} -depth -type d -exec rmdir {} 2>/dev/null ';'
%{__chmod} 755 %{buildroot}%{perl_vendorarch}/auto/concord/concord.so
cd -

# python bindings
cd %{libpkg}/bindings/python
%py2_install
cd -

cd %{name}
make DESTDIR=%{buildroot} install


%post -n %{libpkg}
/sbin/ldconfig
/sbin/udevadm control --reload-rules
touch --no-create %{_datadir}/mime/packages &> /dev/null || :

%postun -n %{libpkg}
/sbin/ldconfig
/sbin/udevadm control --reload-rules
if [ $1 -eq 0 ] ; then
touch --no-create %{_datadir}/mime/packages &> /dev/null || :
update-mime-database %{?fedora:-n} %{_datadir}/mime &> /dev/null || :
fi

%posttrans -n %{libpkg}
update-mime-database %{?fedora:-n} %{_datadir}/mime &> /dev/null || :

%files
%doc Changelog CodingStyle LICENSE SubmittingPatches TODO 
%doc %{name}/README %{name}/INSTALL.linux
%attr(0755, root, root) %{_bindir}/*
%{_mandir}/man1/*

%files -n %{libpkg}
%doc Changelog CodingStyle LICENSE SubmittingPatches
%doc %{libpkg}/README %{libpkg}/INSTALL.linux
/lib/udev/rules.d/*.rules
/lib/udev/*.sh
%{_datadir}/mime/packages/%{libpkg}.xml
%{_libdir}/*.so.*

%files -n %{libpkg}-devel
%doc TODO
%{_includedir}/*.h
%{_libdir}/*.so

%files -n %{libpkg}-perl
%doc %{libpkg}/bindings/perl/README
%{perl_vendorarch}/auto/*
%{perl_vendorarch}/concord.pm

%files -n python2-%{libpkg}
%doc %{libpkg}/bindings/python/README
%{python2_sitelib}/*


%changelog
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.2-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Mon Jan 25 2016 Scott Talbert <swt@techie.net> - 1.2-8
- Removed superfluous defattrs

* Mon Jan 04 2016 Scott Talbert <swt@techie.net> - 1.2-7
- Modernize python packaging, libconcord-python -> python2-libconcord

* Sun Dec 27 2015 Scott Talbert <swt@techie.net> - 1.2-6
- Replace define macros with global ones

* Sat Sep 19 2015 Scott Talbert <swt@techie.net> - 1.2-5
- Fixed LDFLAGS so that hardening flags will be included

* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Wed Jun 03 2015 Jitka Plesnikova <jplesnik@redhat.com> - 1.2-3
- Perl 5.22 rebuild

* Thu May 07 2015 Remi Collet <remi@fedoraproject.org> - 1.2-2
- rebuild for new libzip

* Sun Apr 19 2015 Scott Talbert <swt@techie.net> - 1.2-1
- New upstream release 1.2, RHBZ #1209465

* Sat Apr 04 2015 Scott Talbert <swt@techie.net> - 1.1-7
- Merged libconcord package into concordance package

* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild

* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Sat Mar 29 2014 Scott Talbert <swt@techie.net> - 1.0-3
- New upstream release 1.1
- Removed items no longer required in recent Fedoras

* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

* Fri Jun 21 2013 Adam Williamson <awilliam@redhat.com> - 1.0-1
- new upstream release 1.0

* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.23-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild

* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.23-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Thu Jan 12 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.23-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild

* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.23-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Sun Nov 21 2010 Adam Williamson <awilliam@redhat.com> - 0.23-1
- bump to 0.23

* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.21-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

* Tue Mar 10 2009 Douglas E. Warner <silfreed@silfreed.net> 0.21-1
- moved udev/policykit rules to libconcord package
- supports flashing 5** remotes
- improved IR learning support

* Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.20-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild

* Fri Jan 30 2009 Douglas E. Warner <silfreed@silfreed.net> 0.20-5
- removing registered marks

* Sat May 03 2008 Douglas E. Warner <silfreed@silfreed.net> 0.20-4
- adding additional docs
- removed harmony provides/obsoletes
- removing private getopt sources
- removing udev/pam_console rules
- running generated xml file through xmllint at build time

* Tue Apr 22 2008 Douglas E. Warner <silfreed@silfreed.net> 0.20-3
- fixed Source0 url to downloads.sourceforge.net instead of dl.sourceforge.net

* Tue Apr 22 2008 Douglas E. Warner <silfreed@silfreed.net> 0.20-2
- fixed Source0 url
- changing to build/install dir rather than setting it in setup macro
- install using autoconf script

* Mon Apr 21 2008 Douglas E. Warner <silfreed@silfreed.net> 0.20-1
- updating to 0.20

* Fri Mar 21 2008 Douglas E. Warner <silfreed@silfreed.net> 0.20-0.2.20080318cvs
- disable static linking against libconcord

* Tue Mar 18 2008 Douglas E. Warner <silfreed@silfreed.net> 0.20-0.1.20080318cvs
- renamed from harmony to concordance
- update to pre-release 0.20 that works with libconcord
- adding BuildRequires libconcord-devel
- adding Obsoletes harmony <= 0.20 and Provides harmony to provide upgrade
  path

* Mon Mar 03 2008 Douglas E. Warner <silfreed@silfreed.net> 0.13-1
- update to 0.13

* Mon Jan 14 2008 Douglas E. Warner <silfreed@silfreed.net> 0.12-1
- update to 0.12

* Fri Oct 12 2007 Douglas E. Warner <silfreed@silfreed.net> 0.11-8
- moving udev/PolicyKit generation from install to build

* Fri Oct 12 2007 Douglas E. Warner <silfreed@silfreed.net> 0.11-7
- fixed typo in harmony-gen-policykit-rules.sh

* Fri Oct 12 2007 Douglas E. Warner <silfreed@silfreed.net> 0.11-6
- generating udev rules at build time
- updated udev rules to include more devices
- generating and packaging PolicyKit rules

* Fri Oct 12 2007 Douglas E. Warner <silfreed@silfreed.net> 0.11-5
- fixing udev rules path

* Fri Oct 12 2007 Douglas E. Warner <silfreed@silfreed.net> 0.11-4
- including license.txt in doc
- switching defattr from (-, root, root, -) to (0644, root, root, 0755)
  and attr(0755) the binary

* Fri Oct 12 2007 Douglas E. Warner <silfreed@silfreed.net> 0.11-3
- removing examples from docs
- installing binary by hand to bindir instead of sbindir
- removed commented epoch
- added ® where appropriate
- reordered elements of spec file; updated buildroot
- added udev rules for creating symlinks with nicer names
- added pam_console perms for setting devices to current user

* Thu Oct 11 2007 Douglas E. Warner <silfreed@silfreed.net> 0.11-2
- removing bogus Requires: ldconfig
- adding BuildRequies: libusb-devel

* Wed Oct 10 2007 Douglas E. Warner <silfreed@silfreed.net> 0.11-1
- Initial RPM release.