X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8b9a4190f70909de9568f45389e7aa3ecbc66b8a..77c7f5c930b6336834f97c47f5e550c9354c11ea:/wxPython/distrib/wxPythonFull.spec.in diff --git a/wxPython/distrib/wxPythonFull.spec.in b/wxPython/distrib/wxPythonFull.spec.in index 9cbb0f7ade..ef201326ef 100644 --- a/wxPython/distrib/wxPythonFull.spec.in +++ b/wxPython/distrib/wxPythonFull.spec.in @@ -52,10 +52,10 @@ Prefix: %{pref} 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}) +# 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 @@ -90,20 +90,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} @@ -123,55 +119,56 @@ $WXDIR/configure --with-%{lcport} \ %endif -# Build wxWindows -$MAKE +# Build wxWindows 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 + + +# Link the contrib header directories in place so we can build all of +# wxPython without installing wxWindows +if [ ! -e $WXDIR/include/wx/gizmos ]; then + cd $WXDIR/include/wx + ln -s ../../contrib/include/wx/* . +fi # 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" \ + WX_CONFIG="$WXDIR/bld/wx-config --prefix=$WXDIR --exec-prefix=$WXDIR/bld" \ 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/xml.cpp ../../src/xrc/xmlres.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 - -$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 wxWindows and the contribs so the wxPython build can find +# all the headers it needs 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} \ @@ -179,14 +176,24 @@ cd $WXDIR/wxPython install \ --root=$RPM_BUILD_ROOT + + +cd $WXDIR/wxPython + +# install the wxPython headers +cp -R include $RPM_BUILD_ROOT%{wxpref} +mkdir -p $RPM_BUILD_ROOT%{wxpref}/include/wx/wxPython/i_files +cp src/*.i $RPM_BUILD_ROOT%{wxpref}/include/wx/wxPython/i_files + + # 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? +# 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 \ @@ -205,90 +212,83 @@ done # Install wxrc -cp $WXDIR/contrib/utils/wxrc/wxrc $RPM_BUILD_ROOT%{pref}/bin - - -# link specific name to generic name -ln -s wxPython-%{version} $RPM_BUILD_ROOT%{wxprefbase} - - - -# Copy icons and make menu entries -#-- This only works for Mandrake. Is there a cross-distro way to do it? -##mkdir -p $RPM_BUILD_ROOT%{_iconsdir} -##mkdir -p $RPM_BUILD_ROOT%{_miconsdir} -##mkdir -p $RPM_BUILD_ROOT%{_menudir} -##install -p -m 644 $WXDIR/wxPython/wxPython/py/PyCrust_32.png $RPM_BUILD_ROOT%{_iconsdir}/PyCrust.png -##install -p -m 644 $WXDIR/wxPython/wxPython/py/PyCrust_16.png $RPM_BUILD_ROOT%{_miconsdir}/PyCrust.png -##install -p -m 644 $WXDIR/wxPython/wxPython/tools/XRCed/XRCed_32.png $RPM_BUILD_ROOT%{_iconsdir}/XRCed.png -##install -p -m 644 $WXDIR/wxPython/wxPython/tools/XRCed/XRCed_16.png $RPM_BUILD_ROOT%{_miconsdir}/XRCed.png -## -##cat > $RPM_BUILD_ROOT%{_menudir}/%{name} < 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 %{wxprefbase} >> 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 -r $RPM_BUILD_ROOT %{_iconsdir} >> FILELIST -##$GFL -r $RPM_BUILD_ROOT %{_menudir} >> 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 -#---------------------------------------------------------------- -##%post -##%{update_menus} -## -##%postun -##%{clean_menus} +# 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} <