OBS User unknown 2008-07-09 16:48:13 +00:00 committed by Git OBS Bridge
parent f3d071ecdc
commit eae818e787
4 changed files with 517 additions and 27 deletions

22
inkscape-packages.patch Normal file
View File

@ -0,0 +1,22 @@
--- share/extensions/export_gimp_palette.py
+++ share/extensions/export_gimp_palette.py
@@ -11,7 +11,7 @@
try:
from xml.dom.minidom import parse
except:
- sys.exit('The export_gpl.py module requires PyXML. Please download the latest version from <http://pyxml.sourceforge.net/>.')
+ sys.exit('The export_gpl.py module requires PyXML. Please install pyxml package.')
colortags=(u'fill',u'stroke',u'stop-color',u'flood-color',u'lighting-color')
colors={}
--- share/extensions/inkex.py
+++ share/extensions/inkex.py
@@ -56,7 +56,7 @@
try:
from lxml import etree
except:
- sys.exit('The fantastic lxml wrapper for libxml2 is required by inkex.py and therefore this extension. Please download and install the latest version from <http://cheeseshop.python.org/pypi/lxml/>, or install it through your package manager by a command like: sudo apt-get install python-lxml')
+ sys.exit('The fantastic lxml wrapper for libxml2 is required by inkex.py and therefore this extension. Please install python-lxml package.')
def debug(what):
sys.stderr.write(str(what) + "\n")

View File

@ -0,0 +1,100 @@
#!/bin/bash
# List all files, that depend on NEXT_LIST_REGEXP, explicitly or implicitly
cd $1
# Search all py files importing one of the mentioned modules:
make_extra_list() {
NEWLIST=( $(grep -rl '\(import\|from\).* '"$NEXT_LIST_REGEXP"'\(,\|\.\| \|$\)' .) )
EXTRA_LIST=( $(IFS=$'\n' ; echo "${EXTRA_LIST[*]}"$'\n'"${NEWLIST[*]}" | sed '/^$/d;s:^\./::' | sort -u) )
NEWLIST=( "${NEWLIST[@]##*/}" )
NEXT_LIST_REGEXP="\\(${NEWLIST[*]%.py}\\)"
NEXT_LIST_REGEXP=${NEXT_LIST_REGEXP// /\\|}
}
# Search all py files that are imported by mentioned modules:
make_deplist() {
NEWLIST=( $( ( (IFS=$'\n' ; echo "${NEWLIST[*]}"$'\n') ; sed 2>/dev/null -n 's/^from \(.*\) import.*/\1/p;s/^import //p' ${NEWLIST[@]} | sed 's/, /\n/g' | sed 's/$/.py/;s/\.py\.py$/.py/') | sort -u) )
}
OLDLIST=( EMPTY )
EXTRA_LIST=()
NEXT_LIST_REGEXP='\(xml\|lxml\)'
ITER=1
until test "${EXTRA_LIST[*]}" = "${OLDLIST[*]}" ; do
OLDLIST=( "${EXTRA_LIST[@]}" )
make_extra_list
#echo "iter $ITER list: ${LIST[*]}"
let ITER++
done
# We have a complete list of py files dependent on xml or lxml.
# Now we need a list of inx module descriptors.
INX_REGEXP="${EXTRA_LIST[*]//./\\.}"
INX_REGEXP="\\(>${INX_REGEXP// /<\\|>}<\\)"
INX_EXTRA_LIST=( $(grep -l "$INX_REGEXP" *.inx) )
# inx files that do not belong to INX_EXTRA_LIST will be a part of INX_STD_LIST
INX_STD_LIST=()
for FILE in *.inx ; do
eval 'case $FILE in '"$(IFS='|' ; echo "${INX_EXTRA_LIST[*]}")"') continue;; esac'
INX_STD_LIST[${#INX_STD_LIST[@]}]=$FILE
done
# Now create list of py files that should belong to std package:
OLDLIST=( EMPTY )
NEWLIST=( $(sed -n 's@.*<dependency type="executable" location="extensions">\(.*\)\.py</dependency>.*@\1.py@p' ${INX_STD_LIST[@]}) )
ITER=1
until test "${NEWLIST[*]}" = "${OLDLIST[*]}" ; do
OLDLIST=( "${NEWLIST[@]}" )
make_deplist
#echo "iter $ITER list: ${LIST[*]}"
let ITER++
done
STD_LIST=( "${NEWLIST[@]}" )
# Now create list of py files that are required by extra modules:
# (If no std module needs it, then they will belong to extra package.)
OLDLIST=( EMPTY )
NEWLIST=( $(sed -n 's@.*<dependency type="executable" location="extensions">\(.*\)\.py</dependency>.*@\1.py@p' ${INX_EXTRA_LIST[@]}) )
ITER=1
until test "${NEWLIST[*]}" = "${OLDLIST[*]}" ; do
OLDLIST=( "${NEWLIST[@]}" )
make_deplist
#echo "iter $ITER list: ${LIST[*]}"
let ITER++
done
EXTRADEP_LIST=( ${NEWLIST[@]} )
# And now verify everything and generate final list:
# Now its safe to ignore subdirectory issue - we know where they belong.
RC=0
IFS=$'\n'
exec 3>$OLDPWD/inkscape.lst
echo >&3 "%defattr(-,root,root)"
for FILE in ${INX_STD_LIST[@]} ; do
echo >&3 $2$FILE
done
exec 4>$OLDPWD/inkscape-extensions-extra.lst
echo >&4 "%defattr(-,root,root)"
for FILE in ${INX_EXTRA_LIST[@]} ; do
echo >&4 $2$FILE
done
for FILE in *.py ; do
eval '
case $FILE in
cdr*|dia*|fig*|*gimp*|sk*) continue;;
'"$(IFS='|' ; echo "${EXTRA_LIST[*]}")"') echo >&4 $2$FILE; continue;;
'"$(IFS='|' ; echo "${STD_LIST[*]}")"') echo >&3 $2$FILE; continue;;
'"$(IFS='|' ; echo "${EXTRADEP_LIST[*]}")"') echo >&4 $2$FILE; continue;;
esac'
echo "ERROR: Undecided file $FILE"
RC=1
done
exec 3>&-
exec 4>&-
exit $RC

View File

@ -1,3 +1,19 @@
-------------------------------------------------------------------
Tue Jul 1 11:15:28 CEST 2008 - sbrabec@suse.cz
- Added missing dependencies: libMagick++-devel, libwpg-devel,
gimp, transfig, yudit.
- Packaged extensions using pyxml, lxml and yudit as an extra
package to shrink mandatory dependencies and not break plugins.
Uses an extra script for evaluation.
- Packaged optional dia, fig, gimp and skencil plugins as separate
packages with extra dependencies.
- Removed dependency on skencil, no more needed for EPS import
(bnc#394748).
- Removed dependency on libwmf, no more needed for WMF import.
- Tell user about pyxml and lxml packages instead of suggestinng of
compilation from source (however the message should not appear).
------------------------------------------------------------------- -------------------------------------------------------------------
Sat Jun 28 01:29:17 CEST 2008 - maw@suse.de Sat Jun 28 01:29:17 CEST 2008 - maw@suse.de

View File

@ -12,21 +12,22 @@
Name: inkscape Name: inkscape
BuildRequires: boost-devel cairomm docbook-toys fdupes gcc-c++ gtkmm24-devel intltool libglade2-devel libgnomeprintui-devel libgnomeui-devel liblcms-devel libpoppler-glib-devel libwnck-devel libxslt-devel loudmouth-devel perl python-devel python-gtk-devel sgml-skel update-desktop-files BuildRequires: boost-devel docbook-toys fdupes gcc-c++ gtkmm24-devel intltool libMagick++-devel libglade2-devel libgnomeprintui-devel libgnomeui-devel liblcms-devel libpoppler-glib-devel libwnck-devel libwpg-devel libxslt-devel loudmouth-devel perl python-devel python-gtk-devel sgml-skel update-desktop-files
License: GPL v2 only; LGPL v2.1 only License: GPL v2 only; LGPL v2.1 only
Group: Productivity/Graphics/Vector Editors Group: Productivity/Graphics/Vector Editors
Requires: cairomm ghostscript-fonts-std python-gtk python-numeric pstoedit libwmf gzip skencil /usr/bin/gs Requires: ghostscript-fonts-std python-gtk python-numeric pstoedit gzip /usr/bin/gs
AutoReqProv: on
Summary: Inkscape Vector Illustration Program Summary: Inkscape Vector Illustration Program
Version: 0.46 Version: 0.46
Release: 34 Release: 37
# package in <= NLD9 and SuSE Linux <= 9.1
Provides: sodipodi Provides: sodipodi
Obsoletes: sodipodi Obsoletes: sodipodi
PreReq: /bin/rm /bin/ln /bin/sh /usr/bin/perl
Recommends: pyxml
Source: %{name}-%{version}.tar.bz2 Source: %{name}-%{version}.tar.bz2
Source1: gc6.4.tar.bz2 Source1: gc6.4.tar.bz2
Source2: inkscape-split-extensions-extra.sh
Patch: %{name}-boehm-gc.patch Patch: %{name}-boehm-gc.patch
#PATCH-FIX-OPENSUSE inkscape-packages.patch sbrabec@suse.cz -- Suggest packages instead of compilation from source.
Patch1: %{name}-packages.patch
Patch4: %{name}-swigfix.patch Patch4: %{name}-swigfix.patch
Patch7: %{name}-bug-189159.patch Patch7: %{name}-bug-189159.patch
Patch8: %{name}-configure.patch Patch8: %{name}-configure.patch
@ -47,6 +48,321 @@ Inkscape is a vector illustration program for the GNOME desktop.
Authors:
--------
Alexander Clausen
John Bintz
Arpad Biro
Daniel Borgmann
Hans Breuer
Bulia Byak
Chema Celorio
Johan Ceuppens
Zbigniew Chyla
John Cliff
Kees Cook
Robert Crosbie
Jon Cruz
Danilo Egan
Frank Felfe
Fred
Ted Gould
Bryce Harrington
Carl Hetherington
Nathan Hurst
Thomas Ingham
Bob Jamison
Lauris Kaplinski
Lynn Kerby
Petr Kovar
Raph Levien
Vitaly Lipatov
Dmitry G. Mastrukov
Michael Meeks
Federico Mena
MenTaLguY
Peter Moulder
Yukihiro Nakai
Christian Neumair
Mitsuru Oka
Jon Phillips
Christian Schaller
Tom von Schwerdtner
Pat Suwalski
Adib Taraben
Daniel Yacob
Masatake Yamato
%package extensions-extra
License: GPL v2 only; LGPL v2.1 only
Summary: Inkscape Vector Illustration Program - Extra Extensions
Group: Productivity/Graphics/Vector Editors
Requires: %{name} = %{version} python-lxml pyxml
# for cdr and wmf modules
Requires: yudit
# python-lxml requires pyxml => supplement installation, if all three are present
Supplements: packageand(%{name}:python-lxml)
Enhances: %{name}
# Package in openSUSE <= 11.0 and SLED <= 10
Provides: %{name}:%{_datadir}/inkscape/extensions/inkex.py
%description extensions-extra
Extra extensions for Inkscape. Recommended for everybody who wants to
use Inkscape.
Inkscape is a vector illustration program for the GNOME desktop.
Authors:
--------
Alexander Clausen
John Bintz
Arpad Biro
Daniel Borgmann
Hans Breuer
Bulia Byak
Chema Celorio
Johan Ceuppens
Zbigniew Chyla
John Cliff
Kees Cook
Robert Crosbie
Jon Cruz
Danilo Egan
Frank Felfe
Fred
Ted Gould
Bryce Harrington
Carl Hetherington
Nathan Hurst
Thomas Ingham
Bob Jamison
Lauris Kaplinski
Lynn Kerby
Petr Kovar
Raph Levien
Vitaly Lipatov
Dmitry G. Mastrukov
Michael Meeks
Federico Mena
MenTaLguY
Peter Moulder
Yukihiro Nakai
Christian Neumair
Mitsuru Oka
Jon Phillips
Christian Schaller
Tom von Schwerdtner
Pat Suwalski
Adib Taraben
Daniel Yacob
Masatake Yamato
%package extensions-dia
License: GPL v2 only; LGPL v2.1 only
Summary: Inkscape Vector Illustration Program - Dia Import Extension
Group: Productivity/Graphics/Vector Editors
Requires: %{name} = %{version} dia
Supplements: packageand(%{name}:dia)
Enhances: %{name}
# Package in openSUSE <= 11.0 and SLED <= 10
Provides: %{name}:%{_datadir}/inkscape/extensions/dia.inx
%description extensions-dia
Dia import extension for Inkscape.
Inkscape is a vector illustration program for the GNOME desktop.
Authors:
--------
Alexander Clausen
John Bintz
Arpad Biro
Daniel Borgmann
Hans Breuer
Bulia Byak
Chema Celorio
Johan Ceuppens
Zbigniew Chyla
John Cliff
Kees Cook
Robert Crosbie
Jon Cruz
Danilo Egan
Frank Felfe
Fred
Ted Gould
Bryce Harrington
Carl Hetherington
Nathan Hurst
Thomas Ingham
Bob Jamison
Lauris Kaplinski
Lynn Kerby
Petr Kovar
Raph Levien
Vitaly Lipatov
Dmitry G. Mastrukov
Michael Meeks
Federico Mena
MenTaLguY
Peter Moulder
Yukihiro Nakai
Christian Neumair
Mitsuru Oka
Jon Phillips
Christian Schaller
Tom von Schwerdtner
Pat Suwalski
Adib Taraben
Daniel Yacob
Masatake Yamato
%package extensions-fig
License: GPL v2 only; LGPL v2.1 only
Summary: Inkscape Vector Illustration Program - Fig Import Extension
Group: Productivity/Graphics/Vector Editors
Requires: %{name} = %{version} transfig
Supplements: packageand(%{name}:transfig)
Enhances: %{name}
# Package in openSUSE <= 11.0 and SLED <= 10
Provides: %{name}:%{_datadir}/inkscape/extensions/fig_input.inx
%description extensions-fig
Fig family (XFig, Figurine, JFig, WinFig,...) import extension for
Inkscape.
Inkscape is a vector illustration program for the GNOME desktop.
Authors:
--------
Alexander Clausen
John Bintz
Arpad Biro
Daniel Borgmann
Hans Breuer
Bulia Byak
Chema Celorio
Johan Ceuppens
Zbigniew Chyla
John Cliff
Kees Cook
Robert Crosbie
Jon Cruz
Danilo Egan
Frank Felfe
Fred
Ted Gould
Bryce Harrington
Carl Hetherington
Nathan Hurst
Thomas Ingham
Bob Jamison
Lauris Kaplinski
Lynn Kerby
Petr Kovar
Raph Levien
Vitaly Lipatov
Dmitry G. Mastrukov
Michael Meeks
Federico Mena
MenTaLguY
Peter Moulder
Yukihiro Nakai
Christian Neumair
Mitsuru Oka
Jon Phillips
Christian Schaller
Tom von Schwerdtner
Pat Suwalski
Adib Taraben
Daniel Yacob
Masatake Yamato
%package extensions-gimp
License: GPL v2 only; LGPL v2.1 only
Summary: Inkscape Vector Illustration Program - The GIMP Extensions
Group: Productivity/Graphics/Vector Editors
Requires: %{name} = %{version} gimp
Supplements: packageand(%{name}:gimp)
Enhances: %{name}
# Package in openSUSE <= 11.0 and SLED <= 10
Provides: %{name}:%{_datadir}/inkscape/extensions/gimp_xcf.inx
%description extensions-gimp
The GIMP import and export extensions for Inkscape.
Inkscape is a vector illustration program for the GNOME desktop.
Authors:
--------
Alexander Clausen
John Bintz
Arpad Biro
Daniel Borgmann
Hans Breuer
Bulia Byak
Chema Celorio
Johan Ceuppens
Zbigniew Chyla
John Cliff
Kees Cook
Robert Crosbie
Jon Cruz
Danilo Egan
Frank Felfe
Fred
Ted Gould
Bryce Harrington
Carl Hetherington
Nathan Hurst
Thomas Ingham
Bob Jamison
Lauris Kaplinski
Lynn Kerby
Petr Kovar
Raph Levien
Vitaly Lipatov
Dmitry G. Mastrukov
Michael Meeks
Federico Mena
MenTaLguY
Peter Moulder
Yukihiro Nakai
Christian Neumair
Mitsuru Oka
Jon Phillips
Christian Schaller
Tom von Schwerdtner
Pat Suwalski
Adib Taraben
Daniel Yacob
Masatake Yamato
%package extensions-skencil
License: GPL v2 only; LGPL v2.1 only
Summary: Inkscape Vector Illustration Program - Skencil Import Extension
Group: Productivity/Graphics/Vector Editors
Requires: %{name} = %{version} skencil
Supplements: packageand(%{name}:skencil)
Enhances: %{name}
# Package in openSUSE <= 11.0 and SLED <= 10
Provides: %{name}:%{_datadir}/inkscape/extensions/sk_input.inx
%description extensions-skencil
Skencil import extension for Inkscape.
Inkscape is a vector illustration program for the GNOME desktop.
Authors: Authors:
-------- --------
Alexander Clausen Alexander Clausen
@ -96,6 +412,7 @@ Authors:
%prep %prep
%setup -q -b 1 %setup -q -b 1
%patch %patch
%patch1
%patch4 %patch4
%patch7 %patch7
%patch8 %patch8
@ -122,6 +439,8 @@ chmod -x README.ca.txt
pushd ../gc* pushd ../gc*
autoreconf -f -i autoreconf -f -i
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
# FIXME: It should be fixed in the package using pkg-config:
export CPPFLAGS="$CPPFLAGS -I/usr/include/ImageMagick"
%configure\ %configure\
--libdir=%{_prefix}/lib\ --libdir=%{_prefix}/lib\
--disable-shared --disable-shared
@ -148,47 +467,80 @@ make DESTDIR=$RPM_BUILD_ROOT install
rm -rf $RPM_BUILD_ROOT/%{_datadir}/locale/en_US@piglatin rm -rf $RPM_BUILD_ROOT/%{_datadir}/locale/en_US@piglatin
%suse_update_desktop_file -N "Inkscape" -G "SVG Vector Illustrator" inkscape Office FlowChart %suse_update_desktop_file -N "Inkscape" -G "SVG Vector Illustrator" inkscape Office FlowChart
%find_lang %{name} %find_lang %{name}
mkdir -p $RPM_BUILD_ROOT%{_datadir}/inkscape/extensions-optional
cp $RPM_BUILD_ROOT%{_datadir}/inkscape/extensions/dia.inx $RPM_BUILD_ROOT%{_datadir}/inkscape/extensions-optional
%fdupes $RPM_BUILD_ROOT %fdupes $RPM_BUILD_ROOT
rm $RPM_BUILD_ROOT%{_datadir}/inkscape/extensions/ps2pdf.cmd # Windows script
%triggerin -- dia bash %{S:2} $RPM_BUILD_ROOT%{_datadir}/inkscape/extensions "%%{_datadir}/inkscape/extensions/"
ln -f usr/share/inkscape/extensions-optional/dia.inx usr/share/inkscape/extensions/dia.inx
%triggerpostun -- dia
if [ ! -x usr/bin/dia ] ; then
rm usr/share/inkscape/extensions/dia.inx
fi
%clean %clean
rm -rf $RPM_BUILD_ROOT rm -rf $RPM_BUILD_ROOT
%files %files -f inkscape.lst
%defattr(-,root,root) %defattr(-,root,root)
%doc AUTHORS COPYING COPYING.LIB ChangeLog HACKING* INSTALL NEWS README* TRANSLATORS %doc AUTHORS COPYING COPYING.LIB ChangeLog HACKING* INSTALL NEWS README* TRANSLATORS
%{_bindir}/* %{_bindir}/*
%{_datadir}/applications/inkscape.desktop %{_datadir}/applications/inkscape.desktop
%dir %{_datadir}/inkscape %dir %{_datadir}/inkscape
%{_datadir}/inkscape/[a-df-z]* %{_datadir}/inkscape/[cf-z]*
%{_datadir}/inkscape/exa* %{_datadir}/inkscape/examples
%{_datadir}/inkscape/extensions-optional
%dir %{_datadir}/inkscape/extensions %dir %{_datadir}/inkscape/extensions
%{_datadir}/inkscape/extensions/[a-ce-zA-Z]* %{_datadir}/inkscape/extensions/xaml2svg
%{_datadir}/inkscape/extensions/dia2* %{_datadir}/inkscape/extensions/*.pl
%{_datadir}/inkscape/extensions/dimension.* %{_datadir}/inkscape/extensions/*.xsl*
%{_datadir}/inkscape/extensions/dots* %{_datadir}/inkscape/extensions/colors.xml
%{_datadir}/inkscape/extensions/dx* %{_datadir}/inkscape/extensions/ps2*
%ghost %{_datadir}/inkscape/extensions/dia.inx #BEGIN FIXME: What is purpose of these plugins? I see no references to them:
%{_datadir}/inkscape/extensions/SpSVG.pm
%{_datadir}/inkscape/extensions/inkscape-shadow*
%{_datadir}/inkscape/extensions/simplepath.rb
# *.txt contain inactive plugins
%{_datadir}/inkscape/extensions/*.txt
#END FIXME
%{_datadir}/pixmaps/inkscape.png %{_datadir}/pixmaps/inkscape.png
%doc %{_mandir}/man?/*.* %doc %{_mandir}/man?/*.*
%doc %{_mandir}/??/man?/*.* %doc %{_mandir}/??/man?/*.*
# FIXME # FIXME: should be part of filesystem
%dir %{_mandir}/fr %dir %{_mandir}/fr
%dir %{_mandir}/fr/man1 %dir %{_mandir}/fr/man1
%files extensions-extra -f inkscape-extensions-extra.lst
%defattr(-,root,root)
%{_datadir}/inkscape/extensions/Barcode
%{_datadir}/inkscape/extensions/cdr*
%{_datadir}/inkscape/extensions/wmf*
%files extensions-dia
%defattr(-,root,root)
%{_datadir}/inkscape/extensions/dia*
%files extensions-fig
%defattr(-,root,root)
%{_datadir}/inkscape/extensions/fig*
%files extensions-gimp
%defattr(-,root,root)
# NOTE: export_gimp_palette* does not depend on gimp, but belongs here logically:
%{_datadir}/inkscape/extensions/*gimp*
%files extensions-skencil
%defattr(-,root,root)
%{_datadir}/inkscape/extensions/sk*
%files lang -f %{name}.lang %files lang -f %{name}.lang
%changelog %changelog
* Tue Jul 01 2008 sbrabec@suse.cz
- Added missing dependencies: libMagick++-devel, libwpg-devel,
gimp, transfig, yudit.
- Packaged extensions using pyxml, lxml and yudit as an extra
package to shrink mandatory dependencies and not break plugins.
Uses an extra script for evaluation.
- Packaged optional dia, fig, gimp and skencil plugins as separate
packages with extra dependencies.
- Removed dependency on skencil, no more needed for EPS import
(bnc#394748).
- Removed dependency on libwmf, no more needed for WMF import.
- Tell user about pyxml and lxml packages instead of suggestinng of
compilation from source (however the message should not appear).
* Sat Jun 28 2008 maw@suse.de * Sat Jun 28 2008 maw@suse.de
- Add inkscape-gtk-clist.patch, to enable building against - Add inkscape-gtk-clist.patch, to enable building against
recent versions of gtk+. recent versions of gtk+.