[libprojectM] Drop obsolete README.fedora file since users need not modify their config file manually anymore to p

Michael Schwendt mschwendt at fedoraproject.org
Sat May 7 10:13:10 UTC 2011


commit 62b48f8f1e0e48072765e40368b995edc3755dee
Author: Michael Schwendt <mschwendt at fedoraproject.org>
Date:   Sat May 7 12:12:54 2011 +0200

    Drop obsolete README.fedora file since users need not modify their
    config file manually anymore to prevent projectM from crashing.
    Revise fonts patch: check that user's configured font files exist,
    fall back to our defaults, add safety-check in spec file, replace
    font paths in prep section. (#698404, #698381)

 README.libprojectM      |    4 ---
 libprojectM-fonts.patch |   65 +++++++++++++++++++++++++++++++++++-----------
 libprojectM.spec        |   38 +++++++++++++++++++++------
 3 files changed, 78 insertions(+), 29 deletions(-)
---
diff --git a/libprojectM-fonts.patch b/libprojectM-fonts.patch
index 09d5000..9ec4e38 100644
--- a/libprojectM-fonts.patch
+++ b/libprojectM-fonts.patch
@@ -1,7 +1,7 @@
-diff -rupN libprojectM-2.0.1.old/CMakeLists.txt libprojectM-2.0.1/CMakeLists.txt
---- libprojectM-2.0.1.old/CMakeLists.txt	2009-12-05 20:42:51.000000000 -0500
-+++ libprojectM-2.0.1/CMakeLists.txt	2010-07-17 11:41:28.000000000 -0400
-@@ -190,8 +190,6 @@ CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_D
+diff -Nur libprojectM-2.0.1-orig/CMakeLists.txt libprojectM-2.0.1/CMakeLists.txt
+--- libprojectM-2.0.1-orig/CMakeLists.txt	2009-12-06 02:42:51.000000000 +0100
++++ libprojectM-2.0.1/CMakeLists.txt	2011-05-07 12:03:53.310040001 +0200
+@@ -190,8 +190,6 @@
  
  FILE(GLOB presets "presets/*.milk" "presets/*.prjm" "presets/*.tga")
  INSTALL(FILES ${presets} DESTINATION ${CMAKE_INSTALL_PREFIX}/share/projectM/presets)
@@ -10,30 +10,63 @@ diff -rupN libprojectM-2.0.1.old/CMakeLists.txt libprojectM-2.0.1/CMakeLists.txt
  INSTALL(FILES ${Renderer_SOURCE_DIR}/projectM.cg ${Renderer_SOURCE_DIR}/blur.cg DESTINATION ${CMAKE_INSTALL_PREFIX}/share/projectM/shaders)
  INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/libprojectM.pc DESTINATION ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}/pkgconfig)
  INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/config.inp DESTINATION ${CMAKE_INSTALL_PREFIX}/share/projectM)
-diff -rupN libprojectM-2.0.1.old/config.inp.in libprojectM-2.0.1/config.inp.in
---- libprojectM-2.0.1.old/config.inp.in	2009-12-05 20:42:51.000000000 -0500
-+++ libprojectM-2.0.1/config.inp.in	2010-07-17 11:41:28.000000000 -0400
-@@ -17,6 +17,6 @@ Hard Cut Sensitivity = 10       # Lower 
+diff -Nur libprojectM-2.0.1-orig/config.inp.in libprojectM-2.0.1/config.inp.in
+--- libprojectM-2.0.1-orig/config.inp.in	2009-12-06 02:42:51.000000000 +0100
++++ libprojectM-2.0.1/config.inp.in	2011-05-07 11:04:46.076248175 +0200
+@@ -17,6 +17,6 @@
  Aspect Correction = true	# Custom Shape Aspect Correction
  
  Preset Path = @CMAKE_INSTALL_PREFIX@/@RESOURCE_PREFIX@/presets # preset location
 -Title Font = @CMAKE_INSTALL_PREFIX@/@RESOURCE_PREFIX@/fonts/Vera.ttf
 -Menu Font = @CMAKE_INSTALL_PREFIX@/@RESOURCE_PREFIX@/fonts/VeraMono.ttf
-+Title Font = @CMAKE_INSTALL_PREFIX@/share/fonts/dejavu/DejaVuSans.ttf
-+Menu Font = @CMAKE_INSTALL_PREFIX@/share/fonts/dejavu/DejaVuSansMono.ttf
++Title Font = @CMAKE_INSTALL_PREFIX at __FEDORA_TITLE_FONT__
++Menu Font = @CMAKE_INSTALL_PREFIX at __FEDORA_MENU_FONT__
   
-diff -rupN libprojectM-2.0.1.old/projectM.cpp libprojectM-2.0.1/projectM.cpp
---- libprojectM-2.0.1.old/projectM.cpp	2009-12-05 20:42:51.000000000 -0500
-+++ libprojectM-2.0.1/projectM.cpp	2010-07-17 11:43:00.000000000 -0400
-@@ -200,9 +200,9 @@ void projectM::readConfig (const std::st
+diff -Nur libprojectM-2.0.1-orig/projectM.cpp libprojectM-2.0.1/projectM.cpp
+--- libprojectM-2.0.1-orig/projectM.cpp	2009-12-06 02:42:51.000000000 +0100
++++ libprojectM-2.0.1/projectM.cpp	2011-05-07 12:03:56.471868101 +0200
+@@ -30,6 +30,7 @@
+ 
+ #include "timer.h"
+ #include <iostream>
++#include <fstream>
+ #ifdef LINUX
+ #include "time.h"
+ #endif
+@@ -163,6 +164,13 @@
+ 
+ 
+ 
++bool _fileExists(const std::string& path) {
++    std::ifstream f(path.c_str());
++    return f;
++}
++
++
++
+ void projectM::readConfig (const std::string & configFile )
+ {
+     std::cout << "[projectM] config file: " << configFile << std::endl;
+@@ -199,10 +207,20 @@
+     #endif
  
      #ifdef LINUX
++    string titleFont = CMAKE_INSTALL_PREFIX  "__FEDORA_TITLE_FONT__";
++    string menuFont = CMAKE_INSTALL_PREFIX  "__FEDORA_MENU_FONT__";
      _settings.titleFontURL = config.read<string>
 -    ( "Title Font", CMAKE_INSTALL_PREFIX  "/share/projectM/fonts/Vera.ttf" );
-+    ( "Title Font", CMAKE_INSTALL_PREFIX  "/share/fonts/dejavu/DejaVuSans.ttf" );
++    ( "Title Font", titleFont );
      _settings.menuFontURL = config.read<string>
 -    ( "Menu Font", CMAKE_INSTALL_PREFIX  "/share/projectM/fonts/VeraMono.ttf" );
-+    ( "Menu Font", CMAKE_INSTALL_PREFIX  "/share/fonts/dejavu/DejaVuSansMono.ttf" );
++    ( "Menu Font", menuFont );
++    if ( !_fileExists(_settings.titleFontURL) ) {
++        std::cerr << "NOT FOUND: " << _settings.titleFontURL << std::endl;
++        _settings.titleFontURL = titleFont;
++    }
++    if ( !_fileExists(_settings.menuFontURL) ) {
++        std::cerr << "NOT FOUND: " << _settings.menuFontURL << std::endl;
++        _settings.menuFontURL = menuFont;
++    }
      #endif
  
      #ifdef WIN32
diff --git a/libprojectM.spec b/libprojectM.spec
index 3ffa59d..dfcaace 100644
--- a/libprojectM.spec
+++ b/libprojectM.spec
@@ -1,13 +1,13 @@
 Name:		libprojectM
 Version:	2.0.1
-Release:	10%{?dist}
+Release:	11%{?dist}
 Summary:	The libraries for the projectM music visualization plugin
 Group:		Applications/Multimedia
 License:	LGPLv2+
 URL:		http://projectm.sourceforge.net/
 Source0:	http://downloads.sourceforge.net/projectm/%{name}-%{version}.tar.bz2
-Source1:	README.libprojectM
-#Remove fonts from package:
+#Remove fonts from package
+#Change default fonts
 Patch0:		libprojectM-fonts.patch
 #Bump soname
 Patch1:		libprojectM-soname.patch
@@ -21,6 +21,10 @@ BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 BuildRequires:	ftgl-devel, cmake, glew-devel
 Requires:	dejavu-sans-mono-fonts, dejavu-sans-fonts
 
+%global titlefont /share/fonts/dejavu/DejaVuSans.ttf
+%global menufont /share/fonts/dejavu/DejaVuSansMono.ttf
+
+
 %description
 projectM is an awesome music visualizer. There is nothing better in the world
 of Unix. projectM's greatness comes from the hard work of the community. Users
@@ -39,13 +43,23 @@ developing applications that use %{name}.
 
 %prep
 %setup -q
-%patch0 -p1
+
+%patch0 -p1 -b .font-changes
+for f in config.inp.in projectM.cpp
+do
+    sed -i -e 's!__FEDORA_TITLE_FONT__!%{titlefont}!g' $f
+    sed -i -e 's!__FEDORA_MENU_FONT__!%{menufont}!g' $f
+    grep -q -s __FEDORA_ $f && exit 1
+done
+[ -e %{_prefix}%{titlefont} ] || exit 1
+[ -e %{_prefix}%{menufont} ] || exit 1
+
 %patch1 -p1
 %patch2 -p1
 %patch3 -p0
 %patch4 -p0
 sed -i 's/\r//' ChangeLog
-cp -f %{SOURCE1} README.fedora
+
 
 %build
 %cmake -DCMAKE_INSTALL_PREFIX=%{_prefix} -DLIB_INSTALL_DIR=%{_libdir} .
@@ -66,18 +80,24 @@ rm -rf $RPM_BUILD_ROOT
 
 %files
 %defattr(-,root,root,-)
-%doc ChangeLog README.fedora
+%doc ChangeLog COPYING
 %{_libdir}/*.so.*
-%{_datadir}/projectM
+%{_datadir}/projectM/
 
 %files devel
 %defattr(-,root,root,-)
-%doc
-%{_includedir}/%{name}
+%{_includedir}/%{name}/
 %{_libdir}/*.so
 %{_libdir}/pkgconfig/*.pc
 
 %changelog
+* Sat May  7 2011 Michael Schwendt <mschwendt at fedoraproject.org> - 2.0.1-11
+- Drop obsolete README.fedora file since users need not modify their
+  config file manually anymore to prevent projectM from crashing.
+- Revise fonts patch: check that user's configured font files exist,
+  fall back to our defaults, add safety-check in spec file, replace
+  font paths in prep section. (#698404, #698381)
+
 * Mon Apr 25 2011 Jameson Pugh <imntreal at gmail.com> - 2.0.1-10
 - Fixed fonts patch
 


More information about the scm-commits mailing list