X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1e4a197e4c60e461b8068b0619692ea083e30b8b..5fcb35d9bf7060ba5392f1d07a69e420fcb980d7:/wxPython/distrib/wxPythonFull.spec.in diff --git a/wxPython/distrib/wxPythonFull.spec.in b/wxPython/distrib/wxPythonFull.spec.in index fa0745bb6f..82a9a5ab53 100644 --- a/wxPython/distrib/wxPythonFull.spec.in +++ b/wxPython/distrib/wxPythonFull.spec.in @@ -8,7 +8,8 @@ %define version @VERSION@ %define ver2 @VER2@ %define release 1 -%define wxpref %{pref}/lib/wxPython +%define wxprefbase %{pref}/lib/wxPython +%define wxpref %{wxprefbase}-%{version} %define name wxPython%{port}-py%{pyver} @@ -21,15 +22,21 @@ # Should --enable-debug_flag be used in release builds? Using it # defines __WXDEBUG__ and gives us runtime diagnostics that are turned # into Python exceptions starting with 2.3.4. (So turning it on is a -# very helpful thing IMO and is recommended.) +# very helpful thing IMO and is recommended.) The code is still +# compiled with optimization flags and such when this option is used, +# it simply turns on some extra code. %define debug_flag 1 # build the name of the real wx-config from the port, flags, etc. %define dbgflg %(if [ "%{debug_flag}" = "1" ]; then echo d; fi) %define uniflg %(if [ "%{unicode}" = "1" ]; then echo u; fi) +%define DBGFLG %(if [ "%{debug_flag}" = "1" ]; then echo D; fi) +%define UNIFLG %(if [ "%{unicode}" = "1" ]; then echo U; fi) %define wxconfigname %{wxpref}/bin/wx%{lcport}%{uniflg}%{dbgflg}-%{ver2}-config +# turn off the generation of debuginfo rpm (RH9) +%define debug_package %{nil} #---------------------------------------------------------------- Summary: Cross platform GUI toolkit for Python using wx%{port} @@ -37,28 +44,33 @@ Name: %{name} Version: %{version} Release: %{release} Source0: %{tarname}-%{version}.tar.gz -License: wxWindows Library Licence, Version 3 +License: wx Library Licence, Version 3 URL: http://wxPython.org/ Packager: Robin Dunn Group: Development/Python BuildRoot: %{_tmppath}/%{name}-buildroot Prefix: %{pref} -#BuildRequires: %{python} Provides: wxPython = %{version} Provides: wxPython%{port} = %{version} +# Provides: libwx_%{lcport}%{uniflg}%{dbgflg}-%{ver2}.so +# Provides: libwx_%{lcport}%{uniflg}%{dbgflg}-%{ver2}.so(WX%{port}%{UNIFLG}%{DBGFLG}_%{ver2}) +# Provides: libwx_%{lcport}%{uniflg}%{dbgflg}_gl-%{ver2}.so +# Provides: libwx_%{lcport}%{uniflg}%{dbgflg}_gl-%{ver2}.so(WX%{port}%{UNIFLG}%{DBGFLG}_%{ver2}) + + # old wxPython packages -Obsoletes: wxPython +Obsoletes: wxPython wxPython%{port} %description wxPython is a GUI toolkit for Python that is a wrapper around the -wxWindows C++ GUI library. wxPython provides a large variety of +wxWidgets C++ GUI library. wxPython provides a large variety of window types and controls, all implemented with a native look and feel (and native runtime speed) on the platforms it is supported on. -This package is implemented using the %{port} port of wxWindows, and +This package is implemented using the %{port} port of wxWidgets, and includes the wx%{port} shared libs and etc. @@ -80,20 +92,16 @@ that wxPython uses. #---------------------------------------------------------------- %build -if [ "$SMP" != "" ]; then - MAKE="make -j$SMP" -else - MAKE="make" -fi WXDIR=`pwd` -mkdir build -cd build +mkdir bld +cd bld # Configure, trying to reduce external dependencies -$WXDIR/configure --with-%{lcport} \ +../configure --with-%{lcport} \ --prefix=%{wxpref} \ --disable-soname \ + --disable-monolithic \ --enable-rpath=%{wxpref}/lib \ --with-opengl \ %if %{unicode} @@ -102,6 +110,8 @@ $WXDIR/configure --with-%{lcport} \ %endif --enable-geometry \ --enable-optimise \ + --enable-sound --with-sdl \ + --enable-display \ %if %{debug_flag} --enable-debug_flag \ %endif @@ -113,60 +123,47 @@ $WXDIR/configure --with-%{lcport} \ %endif -# Build wxWindows -$MAKE +# Build wxWidgets and some contrib libs +make +make -C contrib/src/gizmos +make -C contrib/src/ogl CXXFLAGS="-DwxUSE_DEPRECATED=0" +make -C contrib/src/stc +make -C contrib/src/xrc # Now build wxPython cd $WXDIR/wxPython %{python} setup.py \ - IN_CVS_TREE=1 \ NO_SCRIPTS=1 \ WXPORT=%{lcport} \ UNICODE=%{unicode} \ - WX_CONFIG="$WXDIR/build/wx-config --prefix=$WXDIR --exec-prefix=$WXDIR/build" \ - build - -## WX_CONFIG="$WXDIR/build/wx-config --inplace --prefix=$RPM_BUILD_ROOT%{wxpref}" \ - + WX_CONFIG="$WXDIR/bld/wx-config --inplace" \ + build -# Build wxrc (XRC resource tool) but don't use the makefiles since they expect -# a shared version of the xrc lib to have been built... -cd $WXDIR/contrib/utils/wxrc -WX_CONFIG="$WXDIR/build/wx-config --prefix=$WXDIR --exec-prefix=$WXDIR/build" -wCC=`$WX_CONFIG --cc` -wCXX=`$WX_CONFIG --cxx` - -for f in wxrc.cpp ../../src/xrc/*.cpp; do - echo $f - $wCXX `$WX_CONFIG --cxxflags` -I ../../include -I ../../src/xrc/expat/xmlparse -I ../../src/xrc/expat/xmltok -c $f -done -for f in ../../src/xrc/expat/xmlparse/xmlparse.c ../../src/xrc/expat/xmltok/xmlrole.c ../../src/xrc/expat/xmltok/xmltok.c; do - echo $f - $wCC `$WX_CONFIG --cxxflags` -I ../../include -I ../../src/xrc/expat/xmlparse -I ../../src/xrc/expat/xmltok -c $f -done - -# the handlers are not needed -rm xh_*.o xmlrsall.o - -$wCXX `$WX_CONFIG --libs` *.o -o wxrc +# Build wxrc (XRC resource tool) +cd $WXDIR/bld/contrib/utils/wxrc +make strip wxrc #---------------------------------------------------------------- %install -[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT -# install wxWindows WXDIR=`pwd` -cd build +cd bld + +# Install wxWidgets and the contribs make prefix=$RPM_BUILD_ROOT%{wxpref} install +make -C contrib/src/gizmos prefix=$RPM_BUILD_ROOT%{wxpref} install +make -C contrib/src/ogl CXXFLAGS="-DwxUSE_DEPRECATED=0" prefix=$RPM_BUILD_ROOT%{wxpref} install +make -C contrib/src/stc prefix=$RPM_BUILD_ROOT%{wxpref} install +make -C contrib/src/xrc prefix=$RPM_BUILD_ROOT%{wxpref} install + # install wxPython cd $WXDIR/wxPython %{python} setup.py \ - IN_CVS_TREE=1 \ NO_SCRIPTS=1 \ WXPORT=%{lcport} \ UNICODE=%{unicode} \ @@ -174,56 +171,112 @@ cd $WXDIR/wxPython install \ --root=$RPM_BUILD_ROOT + +cd $WXDIR/wxPython + + # Since I want this RPM to be as generic as possible I won't let -# distutils copy the scripts since it will mangle the #! line to use -# the real python pathname. Since some distros install python 2.2 as -# python2 and others as python, then I can't let distutils do that -# otherwise the dependencies will be fouled up. Copy them manually -# instead, leaving the #!/bin/env line intact. -# -# TODO: Should this be dependent on %{builtin_libs} or something like it? - -mkdir -p $RPM_BUILD_ROOT/usr/bin +# distutils copy the scripts (NO_SCRIPTS=1 above) since it will mangle +# the #! line to use the real python pathname. Since some distros +# install python 2.2 as python2 and others as python I can't let +# distutils do that otherwise the dependencies will be fouled up. +# Copy them manually instead, leaving the #!/bin/env line intact. +# TODO: Should this be dependent on %{builtin_libs} or something like +# it? + +mkdir -p $RPM_BUILD_ROOT%{pref}/bin for s in \ helpviewer \ img2png \ img2py \ img2xpm \ + pyalacarte \ + pyalamode \ pycrust \ - pycwrap \ + pywrap \ pyshell \ xrced; do - cp scripts/$s $RPM_BUILD_ROOT/%{pref}/bin + cp scripts/$s $RPM_BUILD_ROOT%{pref}/bin done # Install wxrc -cp $WXDIR/contrib/utils/wxrc/wxrc $RPM_BUILD_ROOT/%{pref}/bin - - -# Generate the filelists. For some reason the %defattr below is still -# resulting in many (but not all) files not owned by root when just -# specifying directories and wildcards to be included in each package. -# So instead we'll build some explicit filelists here and use %attr on -# each entry. -cd $WXDIR -mkdir -p $RPM_BUILD_ROOT%{pref}/share/doc -GFL="%{python} wxPython/distrib/genfilelist.py" -$GFL $RPM_BUILD_ROOT %{pref} > FILELIST -$GFL -r $RPM_BUILD_ROOT %{pref}/bin >> FILELIST -$GFL $RPM_BUILD_ROOT %{pref}/lib >> FILELIST -$GFL -r $RPM_BUILD_ROOT %{pref}/lib/python%{pyver} >> FILELIST -$GFL -r $RPM_BUILD_ROOT %{pref}/share >> FILELIST -$GFL $RPM_BUILD_ROOT %{wxpref} >> FILELIST -$GFL $RPM_BUILD_ROOT %{wxpref}/lib >> FILELIST -$GFL $RPM_BUILD_ROOT "%{wxpref}/lib/libwx*" >> FILELIST -$GFL -r $RPM_BUILD_ROOT %{wxpref}/share >> FILELIST - -$GFL $RPM_BUILD_ROOT %{wxpref}/include > DEVELLIST -$GFL -r $RPM_BUILD_ROOT %{wxpref}/include/wx >> DEVELLIST -$GFL -r $RPM_BUILD_ROOT %{wxpref}/lib/wx >> DEVELLIST -$GFL $RPM_BUILD_ROOT %{wxconfigname} >> DEVELLIST -$GFL $RPM_BUILD_ROOT %{wxpref}/bin/wx-config >> DEVELLIST +cp $WXDIR/bld/contrib/utils/wxrc/wxrc $RPM_BUILD_ROOT%{pref}/bin + + +# install KDE & GNOME menus +mkdir -p $RPM_BUILD_ROOT%{_datadir}/applnk/Development +mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications +for d in distrib/*.desktop; do + install -m 644 $d $RPM_BUILD_ROOT%{_datadir}/applnk/Development + install -m 644 $d $RPM_BUILD_ROOT%{_datadir}/applications +done + +# install KDE icons +mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/{16x16,32x32}/apps +mkdir -p $RPM_BUILD_ROOT%{_datadir}/pixmaps +install -m 644 wx/py/PyCrust_16.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/16x16/apps/PyCrust.png +install -m 644 wx/py/PyCrust_32.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/32x32/apps/PyCrust.png +install -m 644 wx/py/PyCrust_32.png $RPM_BUILD_ROOT%{_datadir}/pixmaps/PyCrust.png +install -m 644 wx/tools/XRCed/XRCed_16.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/16x16/apps/XRCed.png +install -m 644 wx/tools/XRCed/XRCed_32.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/32x32/apps/XRCed.png +install -m 644 wx/tools/XRCed/XRCed_32.png $RPM_BUILD_ROOT%{_datadir}/pixmaps/XRCed.png + +# install Mandrake menu +mkdir -p $RPM_BUILD_ROOT/%{_libdir}/menu +cat > $RPM_BUILD_ROOT%{_libdir}/menu/%{name} <> DEVELLIST #---------------------------------------------------------------- -%files -f FILELIST +%files %defattr(-,root,root) -%doc docs/preamble.txt docs/licence.txt docs/readme.txt docs/changes.txt -%doc wxPython/README.txt wxPython/CHANGES.txt - - -%files -n wxPython%{port}-devel -f DEVELLIST +%doc docs/preamble.txt docs/licence.txt docs/lgpl.txt docs/readme.txt docs/changes.txt +%doc wxPython/docs/* +%{_bindir}/* +%{_libdir}/python%{pyver}/site-packages/* +%dir %{wxpref} +%dir %{wxpref}/lib +%{wxpref}/lib/libwx* +%{wxpref}/share +%{_datadir}/applnk/Development/* +%{_datadir}/applications/* +%{_datadir}/icons/hicolor/*/apps/* +%{_datadir}/pixmaps/* +%{_libdir}/menu/* + +##%{wxprefbase} + + +%files -n wxPython%{port}-devel %defattr(-,root,root) - +%{wxpref}/include +%{wxpref}/lib/wx +%{wxconfigname} +%{wxpref}/bin/wx-config #---------------------------------------------------------------- # end of file