%define shortname graphlcd %define name %shortname-base %define version 0.1.9 %define rel 2 # When updating this package, make sure vdr-plugin-graphlcd still builds. # - Anssi %define drivers_major 1 %define graphics_major 2 %define skin_major 1 %define drivers_libname %mklibname glcddrivers %drivers_major %define graphics_libname %mklibname glcdgraphics %graphics_major %define skin_libname %mklibname glcdskin %skin_major %define devname %mklibname -d %{shortname} Summary: GraphLCD drivers and tools Name: %{name} Version: %{version} Release: %mkrel %{rel} License: GPL+ and GPLv2+ Group: System/Kernel and hardware URL: http://projects.vdr-developer.org/projects/graphlcd Source: %name-%version.tgz Patch0: graphlcd-base-01_libserdisp.dpatch Patch1: graphlcd-base-02_utf8.dpatch # fix underlinking, a bit hacky: Patch2: graphlcd-base-underlinking.patch BuildRoot: %{_tmppath}/%{name}-root BuildRequires: freetype2-devel BuildRequires: zlib-devel %description The GraphLCD base is a project to support graphical LC displays. It is mainly used by the graphlcd plugin for the Video Disc Recorder to display its information. %package -n %drivers_libname Summary: GraphLCD shared driver library Group: System/Libraries License: GPL+ Provides: libglcddrivers = %version-%release Conflicts: %{_lib}graphlcd1 # While the library doesn't use graphlcd-config directly, it is # useless without the linked program using it. # (Anssi) FIXME: What? If the above is true then this is bogus. Requires: %shortname-common >= %version %description -n %drivers_libname The GraphLCD base is a project to support graphical LC displays. It is mainly used by the graphlcd plugin for the Video Disc Recorder to display its information. This package contains the driver library needed to run programs dynamically linked with GraphLCD. %package -n %devname Summary: Headers for graphlcd Group: Development/C++ License: GPL+ Requires: %drivers_libname = %version Requires: %graphics_libname = %version Requires: %skin_libname = %version Provides: libglcddrivers-devel = %version-%release Provides: glcddrivers-devel = %version-%release Provides: libglcdgraphics-devel = %version-%release Provides: glcdgraphics-devel = %version-%release Provides: graphlcd-devel = %{version}-%{release} Obsoletes: %{_lib}glcddrivers1-devel < %{version}-%{release} Obsoletes: %{_lib}graphlcd1-devel < %{version}-%{release} Obsoletes: %{_lib}glcdgraphics2-devel < %{version}-%{release} %description -n %devname The GraphLCD base is a project to support graphical LC displays. It is mainly used by the graphlcd plugin for the Video Disc Recorder to display its information. This package contains the headers that programmers will need to develop applications which will use graphlcd-base. %package -n %graphics_libname Summary: GraphLCD shared graphics library Group: System/Libraries License: GPL+ Provides: libglcdgraphics = %version-%release Conflicts: %{_lib}graphlcd1 # While the library doesn't use graphlcd-config directly, it is # useless without the linked program using it. # (Anssi) FIXME: See previous fixme. Requires: %shortname-common >= %version %description -n %graphics_libname The GraphLCD base is a project to support graphical LC displays. It is mainly used by the graphlcd plugin for the Video Disc Recorder to display its information. This package contains the graphics library needed to run programs dynamically linked with GraphLCD. %package -n %skin_libname Summary: GraphLCD shared skin library Group: System/Libraries License: GPL+ %description -n %skin_libname The GraphLCD base is a project to support graphical LC displays. It is mainly used by the graphlcd plugin for the Video Disc Recorder to display its information. This package contains the skin library needed to run programs dynamically linked with libglcdskin. %package -n %shortname-common Summary: GraphLCD configuration file and documentation Group: System/Kernel and hardware License: GPL+ %description -n %shortname-common The GraphLCD base is a project to support graphical LC displays. It is mainly used by the graphlcd plugin for the Video Disc Recorder to display its information. This package contains the GraphLCD configuration file and GraphLCD documentation. %package -n %shortname-tools Summary: GraphLCD tools Group: System/Kernel and hardware License: GPLv2+ %description -n %shortname-tools The GraphLCD base is a project to support graphical LC displays. It is mainly used by the graphlcd plugin for the Video Disc Recorder to display its information. This package contains tools to use with GraphLCD. %prep %setup -q %apply_patches # don't strip nor chmod to root perl -pi -e 's,-o root -g root -s,,' $(find -name Makefile) %build %make all CFLAGS="%optflags %ldflags -fPIC" CXXFLAGS="%optflags %ldflags -fPIC" %install rm -rf %{buildroot} %makeinstall_std BINDIR=%{buildroot}%{_bindir} LIBDIR=%{buildroot}%{_libdir} \ INCDIR=%{buildroot}%{_includedir} install -d -m755 %{buildroot}%{_sysconfdir} install -m644 graphlcd.conf %{buildroot}%{_sysconfdir} %clean rm -rf %{buildroot} %files -n %drivers_libname %defattr(-,root,root) %doc README %{_libdir}/libglcddrivers.so.%{drivers_major}* %files -n %devname %defattr(-,root,root) %doc README %{_includedir}/glcddrivers %{_includedir}/glcdgraphics %{_includedir}/glcdskin %{_libdir}/libglcddrivers.so %{_libdir}/libglcdgraphics.so %{_libdir}/libglcdskin.so %files -n %graphics_libname %defattr(-,root,root) %doc README %{_libdir}/libglcdgraphics.so.%{graphics_major}* %files -n %skin_libname %defattr(-,root,root) %{_libdir}/libglcdskin.so.%{skin_major}* %files -n %shortname-common %doc README HISTORY docs %defattr(-,root,root) %config(noreplace) %{_sysconfdir}/graphlcd.conf %files -n %shortname-tools %defattr(-,root,root) %doc README docs/README.* %{_bindir}/* %changelog * Sat Jan 12 2013 umeabot <umeabot> 0.1.9-2.mga3 + Revision: 352576 - Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild * Tue Mar 06 2012 anssi <anssi> 0.1.9-1.mga2 + Revision: 220421 - new version - new URL - new subpackage for libglcdskin - drop gcc4.3 patch, applied upstream - fix underlinking of libglcdskin (underlinking.patch) * Sun Jan 16 2011 anssi <anssi> 0.1.5-7.mga1 + Revision: 20107 - clarify license - add a comment regarding updating package - remove old scripts - use ldflags - imported package graphlcd-base