diff --git a/drgeo-1.1.0-guile2-runtime.patch b/drgeo-1.1.0-guile2-runtime.patch new file mode 100644 index 0000000..63f9b5e --- /dev/null +++ b/drgeo-1.1.0-guile2-runtime.patch @@ -0,0 +1,69 @@ +From 4c4a75a77bf91c6840cfa9101f3eaabd8fee7dbd Mon Sep 17 00:00:00 2001 +From: bhattigurjot +Date: Fri, 23 May 2014 14:30:08 +0000 +Subject: remove runtime errors for guile + +--- +diff --git a/scm/drgeo_scm_interface.scm b/scm/drgeo_scm_interface.scm +index 4112602..d99c9fa 100644 +--- a/scm/drgeo_scm_interface.scm ++++ b/scm/drgeo_scm_interface.scm +@@ -140,7 +140,7 @@ + ((middle-segment) (send parent 'init (drgeoMake-middleSegment + currentFigure myName + (send (car Lopt) 'id)))) +- ((coordinate) ()) ++ ((coordinate) '()) + ;; line, line (no circle and arc) + ((intersection) (send parent 'init (drgeoMake-intersection + currentFigure myName +@@ -443,4 +443,4 @@ + + ;(new-figure "Ma figure") + ;(define a (Numeric "a" 'free 0 0 1)) +-;(define p (Point "o" 'intersection a a)) +\ No newline at end of file ++;(define p (Point "o" 'intersection a a)) +diff --git a/scm/drgeo_scm_interface_constant_sr.scm b/scm/drgeo_scm_interface_constant_sr.scm +index c715d54..78785c5 100644 +--- a/scm/drgeo_scm_interface_constant_sr.scm ++++ b/scm/drgeo_scm_interface_constant_sr.scm +@@ -27,21 +27,21 @@ + ;; + + ;; Basic definitions +-(define дефиниши define) +-(define некасу lets) +-(define нека let) +-(define постави! set!) +-(define ако if) +-(define почни begin) +- +-(define definiši define) +-(define definisi define) +-(define nekasu lets) +-(define neka let) +-(define postavi! set!) +-(define ako if) +-(define pocni begin) +-(define počni begin) ++(define-syntax дефиниши (syntax-rules () ((_ args ...) (define args ...)))) ++(define-syntax некасу (syntax-rules () ((_ args ...) (lets args ...)))) ++(define-syntax нека (syntax-rules () ((_ args ...) (let args ...)))) ++(define-syntax постави! (syntax-rules () ((_ args ...) (set! args ...)))) ++(define-syntax ако (syntax-rules () ((_ args ...) (if args ...)))) ++(define-syntax почни (syntax-rules () ((_ args ...) (begin args ...)))) ++ ++(define-syntax definiši (syntax-rules () ((_ args ...) (define args ...)))) ++(define-syntax definisi (syntax-rules () ((_ args ...) (define args ...)))) ++(define-syntax nekasu (syntax-rules () ((_ args ...) (lets args ...)))) ++(define-syntax neka (syntax-rules () ((_ args ...) (let args ...)))) ++(define-syntax postavi! (syntax-rules () ((_ args ...) (set! args ...)))) ++(define-syntax ako (syntax-rules () ((_ args ...) (if args ...)))) ++(define-syntax pocni (syntax-rules () ((_ args ...) (begin args ...)))) ++(define-syntax počni (syntax-rules () ((_ args ...) (begin args ...)))) + + + ;; Color taken from geo/couleur.h +-- +cgit v0.9.0.2 diff --git a/drgeo.spec b/drgeo.spec index 1821095..080781e 100644 --- a/drgeo.spec +++ b/drgeo.spec @@ -1,19 +1,29 @@ Summary: Interactive educational geometry software Name: drgeo Version: 1.1.0 -Release: 26%{?dist} +Release: 27%{?dist} License: GPLv2+ Group: Applications/Engineering URL: http://www.ofset.org/drgeo -Source: http://dl.sf.net/ofset/drgeo-%{version}.tar.gz +Source: http://downloads.sf.net/ofset/%{name}-%{version}.tar.gz Patch0: drgeo-1.1.0-htmlview.patch Patch1: drgeo.patch Patch2: drgeo-1.1.0-anonymous-type.patch -Patch3: drgeo-1.1.0-guile-fixups.patch +Patch4: drgeo-1.1.0-format-security.patch + +#The following are necessary if using Guile 1.9 or later +#Patch3: drgeo-1.1.0-guile-fixups.patch +#Patch5: drgeo-1.1.0-guile2-runtime.patch BuildRequires: flex, bison, gmp-devel >= 2.0.2, desktop-file-utils -BuildRequires: guile-devel, libglade2-devel, intltool, gettext +BuildRequires: libglade2-devel, intltool, gettext + +# Despite the two patches above, drgeo still doesn't work with +# Guile 1.9 or later, giving a runtime error. See +# https://bugzilla.redhat.com/show_bug.cgi?id=1037042#c4 +#BuildRequires: guile-devel +BuildRequires: compat-guile18-devel %description Dr. Geo is an interactive geometry GUI application. It allows one to create @@ -23,12 +33,23 @@ situation with students from primary or secondary level. %prep %setup -q -%patch0 -p1 -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 +%patch0 -p1 -b .htmlview +%patch1 -p1 -b .general +%patch2 -p1 -b .anonymous-type +%patch4 -p1 -b .format-security + +# patches for Guile 2 compatibility: +# compile time: +#%patch3 -p1 -b .guile-fixups +# run time: +# http://bhattigurjot.wordpress.com/2014/05/23/23-may-2014/ +# http://git.savannah.gnu.org/cgit/dr-geo.git/commit/?h=upgrade&id=4c4a75a77bf91c6840cfa9101f3eaabd8fee7dbd +#%patch5 -p1 -b .guile2 %build +export GUILE=/usr/bin/guile1.8 +export GUILE_CONFIG=/usr/bin/guile1.8-config +export GUILE_TOOLS=/usr/bin/guile1.8-tools %configure make %{?_smp_mflags} @@ -56,6 +77,14 @@ rmdir %{buildroot}%{_datadir}/texmacs/ %{_datadir}/applications/drgeo.desktop %changelog +* Thu Jun 12 2014 Eric Smith - 1.1.0-27 +- Updated Source tag +- Added format security patch from Yaakov Selkowitz + (#1037024, #1106158) +- Added patch for runtime compatibility with Guile 2.x, which still isn't + adequate. +- Rather than using guile 2.0, build to use compat-guile18. + * Sat Jun 07 2014 Fedora Release Engineering - 1.1.0-26 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild