[Skencil-devel] Skencil build issues in modern environment
Adam Williamson
awilliamson at mandriva.com
Thu May 3 10:42:02 CEST 2007
On Thu, 2007-03-05 at 10:30 +0200, Bernhard Reiter wrote:
> Hi Adam,
>
> thanks for the good write up and for fixing Skencil for Mandriva!
>
> On Thursday 03 May 2007 02:57, Adam Williamson wrote:
> > Note that I haven't yet tested the x86-64 build, not having an x86-64
> > machine handy to test on (I build via ssh on our build cluster's x86-64
> > machine, but I can't run X apps on it). I have tested the i586 build on
> > Mandriva 2007 and it appears to work OK.
>
> There has been a patch fixing a 64bit problem two days ago:
> http://wald.intevation.org/plugins/scmsvn/viewcvs.php/skencil/branches/skencil-0.6/Pax/fontobject.c?root=skencil&rev=694&r1=686&r2=694
Yes, that's in my package (it's SVN rev 695).
> > Hope this is interesting to all. If anyone wants to help on the Tcl/Tk
> > 8.5 / font issue, that would be greatly welcomed :)
>
> Yes, this is all very interesting!
> We need to incoporate your changes in the Skencil codebase
> (and help with this is appreciated).
I'm not qualified for that, I'm not a coder at all :) I just try to make
the stuff build.
> What problems do remain for you after your changes?
No functional problems I know of. Just the thing about installing
to /usr/lib/skencil : it doesn't seem right.
I forgot to mention some other things in my mail...we have the following
two workarounds in the spec, too, they pre-date my changes:
---
# (fg) Install program is shitty to say the least, we have to substitute
all
# occurences of RPM_BUILD_{ROOT,DIR} to void :(
# Geoff says that the following is too disgusting to watch and harmful
# for your health.
set +x
(
cd $RPM_BUILD_ROOT
for i in `find -type f`; do
perl -pi -e "s|$RPM_BUILD_ROOT||" $i;
perl -pi -e "s|$RPM_BUILD_DIR||" $i;
done
)
set -x
---
# Now correct all the bugs the install script introduces:
%if %svn
cp Sketch/Modules/*so $RPM_BUILD_ROOT
%{_libdir}/%{name}-%{internalversion}/Sketch/Modules
cp Filter/*so Pax/*so $RPM_BUILD_ROOT
%{_libdir}/%{name}-%{internalversion}/Lib/
%else
cp Sketch/Modules/*so $RPM_BUILD_ROOT
%{_libdir}/%{name}-%{version}/Sketch/Modules
cp Filter/*so Pax/*so $RPM_BUILD_ROOT%{_libdir}/%{name}-%{version}/Lib/
%endif
---
I've verified both are actually still needed. Without the first, the
compiled files contain explicit references to our RPM build directory,
so obviously don't work. I really don't know what the hell the second
one is for, but without it, the build doesn't succeed on x86-64, with a
rather cryptic error.
Aside from this, another problem is that Skencil includes no icon and
no .desktop file. I took skencil-logo.png from the Fedora package (no
idea where they got it) to use as an icon, and I have these lines in the
spec to install freedesktop.org icon theme spec compliant icons:
mkdir -p %buildroot%{_iconsdir}/hicolor/{48x48,32x32,16x16}/apps
convert -scale 48x48 %SOURCE1 %buildroot%_iconsdir/hicolor/48x48/apps/%{name}.png
convert -scale 32x32 %SOURCE1 %buildroot%_iconsdir/hicolor/32x32/apps/%{name}.png
convert -scale 16x16 %SOURCE1 %buildroot%_iconsdir/hicolor/16x16/apps/%{name}.png
I have these lines to create a .desktop file:
mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications
cat > $RPM_BUILD_ROOT%{_datadir}/applications/mandriva-%{name}.desktop << EOF
[Desktop Entry]
Encoding=UTF-8
Name=Skencil
Comment=Drawing tool
Exec=%{_bindir}/%{name} %f
Icon=%{name}
Terminal=false
Type=Application
StartupNotify=true
MimeType=image/x-sk
Categories=Graphics;VectorGraphics;X-MandrivaLinux-Multimedia-Graphics
EOF
The X-MandrivaLinux-Multimedia-Graphics category is Mandriva-specific,
the rest should be generic.
--
adamw
More information about the Skencil-devel
mailing list