From 3512c8703986cf27aa7289027e7e9cbe7b8e7576 Mon Sep 17 00:00:00 2001 From: Jochen Schmitt Date: May 17 2009 18:49:28 +0000 Subject: Copy bpydata/config/* into ~/.blender/../bpydata/config in blender-wrapper script --- diff --git a/blender-wrapper b/blender-wrapper index 2b958a2..12c6927 100644 --- a/blender-wrapper +++ b/blender-wrapper @@ -6,6 +6,12 @@ # In case user's home directory doesn't contain ~/.blender, copy it # from /usr/share/blender +if [ -x /usr/bin/blender-freeworld.bin ]; then + blend="blender-freeworld" +else + blend="blender" +fi + if [ ! -d ~/.blender ]; then install -d ~/.blender ln -sf /usr/share/locale ~/.blender/locale @@ -25,18 +31,29 @@ if [ ! -d ~/.blender ]; then if [ -d ~/.blender/scripts/bpydata ]; then mkdir -p ~/blender/scripts/bpydata mkdir -p ~/blender/scripts/bpydata/config - cp -R /usr/share/blender/scripts/bpydata/* ~/.blender/scripts/bpydata/ fi ln -sf /usr/share/blender/scripts/bpymodules ~/.blender/scripts/pbymodules ln -sf /usr/share/blender/scripts/* ~/.blender/scripts/ + + if [ -d /usr/lib64/$blend/plugins ]; then + ln -sf /usr/lib64/$blend/plugins/sequence ~/.blender/plugins/sequence + ln -sf /usr/lib64/$blend/plugins/texture ~/.blender/plugin/textrure + fi fi + # # Fully update the plugins every time blender is launched. # -# rm -r ~/.blender/scripts/*.p* +for s in /usr/share/blender/scripts/bpydata/config/* ; do + s=`basename $s` + if [ ! -e ~/.blender/scripts/bpydata/config/$s ] ; then + cp /usr/share/blender/scripts/bpydata/config/$s \ + ~/.blender/scripts/pbydata/config/$s + fi +done for s in /usr/share/blender/scripts/*.p* ; do s=`basename $s` @@ -46,20 +63,29 @@ for s in /usr/share/blender/scripts/*.p* ; do done if [ -d /usr/lib64/blender/scripts ] ; then - for s in /usr/lib64/blender/* ; do + for s in /usr/lib64/blender/scripts/* ; do s=`basename $s` if [ ! -e ~/.blender/scripts/$s -a -x /usr/lib64/blender/scripts/$s ] ; then - ln -sf /usr/lib64/blender/$s ~/.blender/scripts/ + ln -sf /usr/lib64/blender/scripts/$s ~/.blender/scripts/ fi done elif [ -d /usr/lib/blender/scripts ] ; then - for s in /usr/lib/blender/* ; do + for s in /usr/lib/blender/scripts/* ; do s=`basename $s` if [ ! -e ~/.blender/scripts/$s -a -x /usr/lib/blender/scripts/$s ] ; then - ln -sf /usr/lib/blender/$s ~/.blender/scripts/ + ln -sf /usr/lib/blender/scripts/$s ~/.blender/scripts/ fi done fi -/usr/bin/blender.bin $@ + +if [ -d /usr/lib64/$blend/plugins ]; then + ln -sf /usr/lib64/$blend/plugins/sequence ~/.blender/plugins/sequence + ln -sf /usr/lib64/$blend/plugins/texture ~/.blender/plugins/texture +elif [ -d /usr/lib/$blend/plugins ]; then + ln -sf /usr/lib/$blend/plugins/sequence ~/.blender/plugins/sequence + ln -sf /usr/lib/$blend/plugins/texture ~/.blender/plugins/texture +fi + +/usr/bin/${blend}.bin $@ diff --git a/blender.spec b/blender.spec index 4b378ad..7c41513 100644 --- a/blender.spec +++ b/blender.spec @@ -1,20 +1,22 @@ -%define blenderlib %{_datadir}/blender -%define plugins %{_libdir}/blender/plugins +%global blenderlib %{_datadir}/blender +%global plugins %{_libdir}/blender/plugins + +%global fontname blender Name: blender Version: 2.48a -Release: 5%{?dist} +Release: 22%{?dist} Summary: 3D modeling, animation, rendering and post-production Group: Applications/Multimedia License: GPLv2 URL: http://www.blender.org -# During a Legel issue (#239476) the package contains a cusromized -# source package created as fellow. +# This is a customized source package without ffmpeg, which is +# patent encumbered (#239476) # wget http://download.blender.org/source/blender-2.48.tar.gz # cd blender-2-47/extern -# rm -rf ffmpeg libmp3lame +# rm -rf ffmpeg libmp3lame x264 # cd ../.. # tar -zcf blender-2.48-noffmpeg.tar.gz blender-2-48/ Source0: blender-%{version}-noffmpeg.tar.gz @@ -24,7 +26,8 @@ Source3: blender.png Source4: blender.desktop Source5: blender.xml Source6: blender-wrapper -Source7: blender-2.47.config +Source7: blenderplayer-wraper +Source8: blender-2.47.config Patch1: blender-2.47-scons.patch Patch2: blender-2.44-bid.patch @@ -52,17 +55,31 @@ BuildRequires: zlib-devel BuildRequires: libtiff-devel BuildRequires: libXi-devel BuildRequires: xorg-x11-proto-devel -BuildRequires: mesa-libGL-devel -BuildRequires: mesa-libGLU-devel +BuildRequires: libGL-devel +BuildRequires: libGLU-devel buildRequires: freetype-devel BuildRequires: OpenEXR-devel BuildRequires: glew-devel +BuildRequires: fontpackages-devel Requires(post): desktop-file-utils Requires(post): shared-mime-info Requires(postun): desktop-file-utils Requires(postun): shared-mime-info +Requires: blender-fonts = %{version}-%{release} + +%if 0%{?fedora} > 10 +Requires: dejavu-sans-fonts +%endif + +%if 0%{?fedora} <= 10 +Requires: dejavu-fonts +%endif + +Provides: blender-fonts = %{version}-%{release} +Obsoletes: blender-fonts <= 2.48a-9 + %description Blender is the essential software solution you need for 3D, from modeling, animation, rendering and post-production to interactive creation and playback. @@ -70,8 +87,16 @@ animation, rendering and post-production to interactive creation and playback. Professionals and novices can easily and inexpensively publish stand-alone, secure, multi-platform content to the web, CD-ROMs, and other media. -This version doesn't contains ffmpeg support, so that any features may be not -available. +This version doesn't contains ffmpeg support. + +%package -n blenderplayer +Summary: Standalone blender player +Group: Applications/Multimedia +License: GPLv2 +%description -n blenderplayer +This package contains a stand alone release of the blender player. +You will need this package to play games which are based on the +Blender Geaming Engine. %prep %setup -q @@ -84,14 +109,12 @@ available. PYVER=$(%{__python} -c "import sys ; print sys.version[:3]") sed -e 's|@LIB@|%{_libdir}|g' -e "s/@PYVER@/$PYVER/g" \ - <%{SOURCE7} >user-config.py - -%build + <%{SOURCE8} >user-config.py -# -# Don't use $RPM_OPT_FLAGS (see #199418) -# +iconv -f iso-8859-1 -t utf-8 doc/bf-members.txt -o doc/bf-members.txt.utf8 +mv doc/bf-members.txt.utf8 doc/bf-members.txt +%build scons %{?_smp_mflags} blenderplayer BF_QUIET=0 install -d release/plugins/include @@ -104,13 +127,13 @@ make -C release/plugins/ %install rm -rf ${RPM_BUILD_ROOT} -install -D -m 755 build/linux2/bin/blender ${RPM_BUILD_ROOT}/%{_bindir}/blender.bin - -install -D -m 755 build/linux2/bin/blenderplayer ${RPM_BUILD_ROOT}/%{_bindir}/blenderplayer +install -D -m 755 build/linux2/bin/blender ${RPM_BUILD_ROOT}%{_bindir}/blender.bin +install -D -m 755 build/linux2/bin/blenderplayer ${RPM_BUILD_ROOT}%{_bindir}/blenderplayer.bin -install -D -m 755 %{SOURCE6} ${RPM_BUILD_ROOT}/%{_bindir}/blender +install -D -m 755 build/linux2/bin/blenderplayer ${RPM_BUILD_ROOT}%{_bindir}/blenderplayer -# install -D -m 755 blenderplayer ${RPM_BUILD_ROOT}/%{_bindir}/blenderplayer +install -D -m 755 %{SOURCE6} ${RPM_BUILD_ROOT}%{_bindir}/blender +install -D -m 755 %{SOURCE7} ${RPM_BUILD_ROOT}%{_bindir}/blenderplayer # # Install miscellanous files to /usr/lib/blender @@ -119,22 +142,27 @@ install -D -m 755 %{SOURCE6} ${RPM_BUILD_ROOT}/%{_bindir}/blender mkdir -p ${RPM_BUILD_ROOT}/%{blenderlib} pushd bin/.blender/locale - rm -rf $(find -name '.svn' -print) popd -cp -a bin/.blender/locale ${RPM_BUILD_ROOT}/%{_datadir} +cp -a bin/.blender/locale ${RPM_BUILD_ROOT}%{_datadir} + +install -d ${RPM_BUILD_ROOT}%{blenderlib}/scripts + +cp -R -a -p release/scripts/* ${RPM_BUILD_ROOT}%{blenderlib}/scripts -install -d ${RPM_BUILD_ROOT}/%{blenderlib}/scripts +install -m 644 release/VERSION ${RPM_BUILD_ROOT}%{blenderlib} +install -m 644 bin/.blender/.Blanguages ${RPM_BUILD_ROOT}%{blenderlib} +install -m 644 bin/.blender/.bfont.ttf ${RPM_BUILD_ROOT}%{blenderlib} -cp -R -a -p release/scripts/* ${RPM_BUILD_ROOT}/%{blenderlib}/scripts +install -p -D -m 755 %{SOURCE1} ${RPM_BUILD_ROOT}%{blenderlib}/scripts/import-3ds-0.7.py +install -p -D -m 755 %{SOURCE2} ${RPM_BUILD_ROOT}%{blenderlib}/scripts/export-3ds-0.71.py -install -m 644 release/VERSION ${RPM_BUILD_ROOT}/%{blenderlib} -install -m 644 bin/.blender/.Blanguages ${RPM_BUILD_ROOT}/%{blenderlib} -install -m 644 bin/.blender/.bfont.ttf ${RPM_BUILD_ROOT}/%{blenderlib} +pushd ${RPM_BUILD_ROOT}%{blenderlib}/scripts +find . -exec sed -i -e 's/\r$//g' {} \; +chmod -R 0755 * +popd -install -p -D -m 644 %{SOURCE1} ${RPM_BUILD_ROOT}%{blenderlib}/scripts/import-3ds-0.7.py -install -p -D -m 644 %{SOURCE2} ${RPM_BUILD_ROOT}%{blenderlib}/scripts/export-3ds-0.71.py install -p -D -m 644 %{SOURCE3} ${RPM_BUILD_ROOT}%{_datadir}/pixmaps/blender.png @@ -144,15 +172,14 @@ install -p -D -m 644 %{SOURCE5} ${RPM_BUILD_ROOT}%{_datadir}/mime/packages/blend # Install plugins # -install -d ${RPM_BUILD_ROOT}/%{plugins}/sequence -install -d ${RPM_BUILD_ROOT}/%{plugins}/texture +install -d ${RPM_BUILD_ROOT}%{plugins}/sequence +install -d ${RPM_BUILD_ROOT}%{plugins}/texture -install -m 644 release/plugins/sequence/*.so ${RPM_BUILD_ROOT}/%{plugins}/sequence -install -m 655 release/plugins/texture/*.so ${RPM_BUILD_ROOT}/%{plugins}/texture +install -s -m 644 release/plugins/sequence/*.so ${RPM_BUILD_ROOT}%{plugins}/sequence +install -s -m 644 release/plugins/texture/*.so ${RPM_BUILD_ROOT}%{plugins}/texture desktop-file-install --vendor fedora \ --dir ${RPM_BUILD_ROOT}%{_datadir}/applications \ - --add-category X-Fedora \ %{SOURCE4} # @@ -161,6 +188,12 @@ desktop-file-install --vendor fedora \ install -d ${RPM_BUILD_ROOT}%{_libdir}/blender/scripts +# +# Create link to DejaVu-Sans +# +rm ${RPM_BUILD_ROOT}%{_datadir}/blender/.bfont.ttf +(cd ${RPM_BUILD_ROOT}; ln -sf %{_fontdir}/dejavu/DejaVuSans.tt ${RPM_BUILD_ROOT}%{_datadir}/blender/.bfont.ttf) + %find_lang %name %clean @@ -179,20 +212,77 @@ update-desktop-database %{_datadir}/applications > /dev/null 2>&1 || : %files -f %name.lang %defattr(-,root,root,-) %doc COPYING README doc/python-dev-guide.txt doc/GPL-license.txt doc/bf-members.txt -%{_bindir}/* +%{_bindir}/blender +%{_bindir}/blender.bin %{_datadir}/applications/fedora-blender.desktop %{_datadir}/pixmaps/*.png %{blenderlib}/ %{_libdir}/blender/ %{_datadir}/mime/packages/blender.xml +%files -n blenderplayer +%doc COPYING +%defattr(-,root,root,-) +%{_bindir}/blenderplayer +%{_bindir}/blenderplayer.bin + %changelog -* Wed Jan 21 2009 Jochen Schmitt 2.48a-5 -- Fix some issue in blender-wrapper +* Wed May 13 2009 Jochen Schmitt 2.48a-22 +- Copy bpydata/config/* into ~/.blender/.../bpydata/config in blender-wrapper script + +* Mon Apr 20 2009 Jochen Schmitt 2.48a-21 +- Chamge BR mesa-libGL* into libGL* + +* Mon Apr 20 2009 Jochen Schmitt 2.48a-20 +- Remove x264 from source tar ball +- Some cosmetic changes + +* Wed Apr 1 2009 Jochen Schmitt 2.48a-19 +- Change nonfree to freeworld + +* Tue Mar 31 2009 Jochen Schmitt 2.48a-18 +- Fix typo + +* Tue Mar 31 2009 Jochen Schmitt 2.48a-17 +- Create drop-in for non-free blender release + +* Wed Mar 11 2009 Jochen Schmitt 2.48a-16 +- Put blenderplayer into a separate subpackage (#489685) + +* Mon Feb 23 2009 Fedora Release Engineering - 2.48a-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Tue Feb 17 2009 Jochen Schmitt 2.48a-14 +- Fix broken wrapper script + +* Wed Jan 21 2009 Jochen Schmitt 2.48a-13 +- Do some fixes on blender-wrapeer + +* Sun Jan 18 2009 Jochen Schmitt 2.48a-12 +- Change Req. for font package because fonts naming was changed (#480444) + +* Thu Jan 15 2009 Jochen Schmitt 2.48a-11 +- Rebuild for new openssl package + +* Sun Jan 11 2009 Jochen Schmitt 2.48a-10 +- Create symlink to DajaVu-Sans + +* Tue Jan 6 2009 Jochen Schmitt 2.48a-9 +- Create fonts sub-package (#477370) + +* Sat Dec 27 2008 Lubomir Rintel 2.48a-7 +- Fix optflags use, this time for real + +* Sat Dec 27 2008 Lubomir Rintel 2.48a-6 +- Use proper compiler flags (see #199418) +- Minor grammar & language fixes and tidy-ups + +* Sun Nov 30 2008 Ignacio Vazquez-Abrams 2.48a-5 +- Rebuild for Python 2.6 * Mon Nov 3 2008 Jochen Schmitt 2.48a-4 - Fix security issue (#469655, CVE-2008-4863) - +[5~ * Sun Oct 26 2008 Jochen Schmitt 2.48a-3 - Create %%{_libdir}/blender/scripts/ to claim ownership diff --git a/blenderplayer-wraper b/blenderplayer-wraper new file mode 100644 index 0000000..6292211 --- /dev/null +++ b/blenderplayer-wraper @@ -0,0 +1,7 @@ +#!/bin/sh + +if [ -x /usr/bin/blenderplayer-freeworld ]; then + /usr/bin/blenderplayer-freeword.bin $@ +else + /usr/bin/blenderplayer.bin $@ +fi