diff --git a/.gitignore b/.gitignore index 27cb387..2e21a3f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1 @@ -/gauche-gtk-0.6-f7d3f802f3750.tar.xz -/gauche-gtk-0.6-ceb4579.tar.xz +/gauche-gtk-*.tar.* diff --git a/00_no_path_xtra.patch b/00_no_path_xtra.patch new file mode 100644 index 0000000..6821d40 --- /dev/null +++ b/00_no_path_xtra.patch @@ -0,0 +1,57 @@ +Description: no PATH_XTRA + Don't configure for PATH_XTRA, but link to freetype2. +Author: NIIBE Yutaka +Reviewed-By: NIIBE Yutaka +Last-Update: 2013-01-21 + +--- a/glgd/Makefile.in ++++ b/glgd/Makefile.in +@@ -29,9 +29,9 @@ + # NB: cc and various flags must match the ones used to compile Gauche, + # so the make invocator shouldn't casually override them. + CC = @CC@ +-CFLAGS = @DEFS@ @CFLAGS@ @X_CFLAGS@ `gauche-config -I` `gauche-config --so-cflags` $(GTKGL_CFLAGS) ++CFLAGS = @DEFS@ @CFLAGS@ `gauche-config -I` `gauche-config --so-cflags` $(GTKGL_CFLAGS) + LDFLAGS = $(GTKGL_LDFLAGS) @LDFLAGS@ `gauche-config -L` `gauche-config --so-ldflags` +-LIBS = $(GTKGL_LIBS) @LIBS@ `gauche-config -l` @X_LIBS@ @X_PRE_LIBS@ -lXext -lX11 ++LIBS = $(GTKGL_LIBS) @LIBS@ `gauche-config -l` + GOSH = @GOSH@ + GAUCHE_CONFIG = @GAUCHE_CONFIG@ + INSTALL = @GAUCHE_INSTALL@ +@@ -47,6 +47,8 @@ + GTKGL_LDFLAGS = `pkg-config --libs-only-L gtkglext-1.0` + GTKGL_LIBS = $(PANGOFT2) `pkg-config --libs-only-l gtkglext-1.0` + ++FREETYPE_CFLAGS = `pkg-config --cflags freetype2` ++ + ARCHFILES = gauche-glgd.$(SOEXT) + SCMFILES = glgd.scm + SCMFILEDIR = $(top_srcdir)/lib/gtk +--- a/gtkgl/Makefile.in ++++ b/gtkgl/Makefile.in +@@ -28,9 +28,9 @@ + # NB: cc and various flags must match the ones used to compile Gauche, + # so the make invocator shouldn't casually override them. + CC = @CC@ +-CFLAGS = @DEFS@ @CFLAGS@ @X_CFLAGS@ `gauche-config -I` `gauche-config --so-cflags` $(GTKGL_CFLAGS) ++CFLAGS = @DEFS@ @CFLAGS@ `gauche-config -I` `gauche-config --so-cflags` $(GTKGL_CFLAGS) + LDFLAGS = $(GTKGL_LDFLAGS) @LDFLAGS@ `gauche-config -L` `gauche-config --so-ldflags` +-LIBS = $(GTKGL_LIBS) @LIBS@ `gauche-config -l` @X_LIBS@ @X_PRE_LIBS@ -lXext -lX11 ++LIBS = $(GTKGL_LIBS) @LIBS@ `gauche-config -l` + GOSH = @GOSH@ + GAUCHE_CONFIG = @GAUCHE_CONFIG@ + INSTALL = @GAUCHE_INSTALL@ +--- a/src/Makefile.in ++++ b/src/Makefile.in +@@ -29,9 +29,9 @@ + # NB: cc and various flags must match the ones used to compile Gauche, + # so the make invocator shouldn't casually override them. + CC = @CC@ +-CFLAGS = @DEFS@ @CFLAGS@ @X_CFLAGS@ -I. `gauche-config -I` `gauche-config --so-cflags` $(GTK_CFLAGS) ++CFLAGS = @DEFS@ @CFLAGS@ -I. `gauche-config -I` `gauche-config --so-cflags` $(GTK_CFLAGS) + LDFLAGS = $(GTK_LDFLAGS) @LDFLAGS@ `gauche-config -L` `gauche-config --so-ldflags` +-LIBS = $(GTK_LIBS) @LIBS@ `gauche-config -l` @X_LIBS@ @X_PRE_LIBS@ -lXext -lX11 ++LIBS = $(GTK_LIBS) @LIBS@ `gauche-config -l` + GOSH = @GOSH@ + GAUCHE_CONFIG = @GAUCHE_CONFIG@ + INSTALL = @GAUCHE_INSTALL@ diff --git a/05_install_755.patch b/05_install_755.patch new file mode 100644 index 0000000..7a74f91 --- /dev/null +++ b/05_install_755.patch @@ -0,0 +1,38 @@ +Description: install shared object with 755 +Author: NIIBE Yutaka +Reviewed-By: NIIBE Yutaka +Last-Update: 2013-01-21 + +--- a/src/Makefile.in ++++ b/src/Makefile.in +@@ -108,7 +108,7 @@ + install : all + $(INSTALL) -m 444 -T $(GAUCHE_PKGINCDIR) $(HEADERS) + $(INSTALL) -m 444 -T $(GAUCHE_PKGLIBDIR) $(SCMFILES) +- $(INSTALL) -m 555 -T $(GAUCHE_PKGARCHDIR) $(ARCHFILES) ++ $(INSTALL) -m 755 -T $(GAUCHE_PKGARCHDIR) $(ARCHFILES) + + # clean ------------------------------------------------ + +--- a/gtkgl/Makefile.in ++++ b/gtkgl/Makefile.in +@@ -86,7 +86,7 @@ + install : all + $(INSTALL) -m 444 -T $(GAUCHE_PKGINCDIR) $(HEADERS) + $(INSTALL) -m 444 -T $(GAUCHE_PKGLIBDIR) -S $(SCMFILEDIR) $(SCMFILES) +- $(INSTALL) -m 555 -T $(GAUCHE_PKGARCHDIR) $(ARCHFILES) ++ $(INSTALL) -m 755 -T $(GAUCHE_PKGARCHDIR) $(ARCHFILES) + + # clean ------------------------------------------------ + clean : +--- a/glgd/Makefile.in ++++ b/glgd/Makefile.in +@@ -101,7 +101,7 @@ + install : all + $(INSTALL) -m 444 -T $(GAUCHE_PKGINCDIR) $(HEADERS) + $(INSTALL) -m 444 -T $(GAUCHE_PKGLIBDIR) -S $(SCMFILEDIR) $(SCMFILES) +- $(INSTALL) -m 555 -T $(GAUCHE_PKGARCHDIR) $(ARCHFILES) ++ $(INSTALL) -m 755 -T $(GAUCHE_PKGARCHDIR) $(ARCHFILES) + + # clean ------------------------------------------------ + clean : diff --git a/06_gdk_pixbuf.patch b/06_gdk_pixbuf.patch new file mode 100644 index 0000000..7d2b930 --- /dev/null +++ b/06_gdk_pixbuf.patch @@ -0,0 +1,46 @@ +Description: Correct gdk-pixbuf paths so the header file parsing will work properly. +Author: Mathieu Trudel-Lapierre +Bug-Debian: http://bugs.debian.org/599239 +Reviewed-By: NIIBE Yutaka +Last-Update: 2013-01-21 + +--- a/src/h2stub.scm ++++ b/src/h2stub.scm +@@ -33,6 +33,7 @@ + + ;; Gtk and Pango version (major.minor) we're dealing with + (define gtk-version (make-parameter "2.0")) ++(define gdk-pixbuf-version (make-parameter "2.0")) + (define pango-version (make-parameter "1.0")) + + ;; Directories to search input header files. +@@ -45,6 +46,10 @@ + (cut port->string-list <>) + :on-abnormal-exit :ignore) + (call-with-input-process ++ #`"pkg-config --variable=includedir gdk-pixbuf-,(gdk-pixbuf-version)" ++ (cut port->string-list <>) ++ :on-abnormal-exit :ignore) ++ (call-with-input-process + #`"pkg-config --variable=includedir pango-,(pango-version)" + (cut port->string-list <>) + :on-abnormal-exit :ignore) +@@ -62,6 +67,9 @@ + (define gtk-directory + (make-parameter (find-header-dir #`"gtk-,(gtk-version)/gtk/gtk.h" + *header-search-paths* ))) ++(define gdk-pixbuf-directory ++ (make-parameter (find-header-dir #`"gdk-pixbuf,(gdk-pixbuf-version)/gdk-pixbuf/gdk-pixbuf.h" ++ *header-search-paths* ))) + (define pango-directory + (make-parameter (find-header-dir #`"pango-,(pango-version)/pango/pango.h" + *header-search-paths*))) +@@ -1277,7 +1285,7 @@ + (call-with-input-file "GDKFILES" port->string-list))) + + (define (parse-gdk-pixbuf) +- (parse-headers #`",(gtk-directory)/gdk-pixbuf" ++ (parse-headers #`",(gdk-pixbuf-directory)/gdk-pixbuf" + (call-with-input-file "GDKPIXBUFFILES" port->string-list))) + + (define (parse-gtk) diff --git a/07-HUGE.patch b/07-HUGE.patch new file mode 100644 index 0000000..9d0d8d0 --- /dev/null +++ b/07-HUGE.patch @@ -0,0 +1,18 @@ +Description: replace HUGE by HUGE_VAL +Author: Aurelien Jarno +Last-Update: 2018-02-24 + +--- gauche-gtk-0.6+git20160927.orig/glgd/glgdGraph.c ++++ gauche-gtk-0.6+git20160927/glgd/glgdGraph.c +@@ -19,11 +19,7 @@ + #define GLGDGRAPH_CAMORBIT (0) + #define GLGDGRAPH_NODENAME (1) + #define GLGDGRAPH_LINKNAME (2) +-#ifdef __MINGW32__ + #define _MAXFLT (HUGE_VAL) +-#else /*!__MINGW32__*/ +-#define _MAXFLT (HUGE) +-#endif /*!__MINGW32__*/ + #define _PANGO_DPI (72) + #define _PANGO_SCALE (3) + #define _TEXW (1024) diff --git a/08-configure-ac-fix.patch b/08-configure-ac-fix.patch new file mode 100644 index 0000000..9d63b4f --- /dev/null +++ b/08-configure-ac-fix.patch @@ -0,0 +1,70 @@ +Index: gauche-gtk/configure.ac +=================================================================== +--- gauche-gtk.orig/configure.ac ++++ gauche-gtk/configure.ac +@@ -2,16 +2,15 @@ dnl + dnl Configuring gauche-gtk2 + dnl process this file with autoconf to generate 'configure'. + dnl +-AC_PREREQ(2.54) +-AC_INIT(Gauche-gtk2, 0.6_pre1, shiro@acm.org) ++AC_PREREQ([2.69]) ++AC_INIT([Gauche-gtk2],[0.6_pre1],[shiro@acm.org]) + + AC_CONFIG_HEADER(src/gtk-config.h) +-AC_CANONICAL_SYSTEM ++AC_CANONICAL_TARGET + + dnl Replace @LOCAL_PATHS@ by --with-local option. + AC_ARG_WITH(local, +- AC_HELP_STRING([--with-local=PATH:PATH...], +- [For each PATH, add PATH/include to the include search ++ AS_HELP_STRING([--with-local=PATH:PATH...],[For each PATH, add PATH/include to the include search + paths and PATH/lib to the library search paths. Useful if you have some + libraries installed in non-standard places. ]), + [ +@@ -24,17 +23,17 @@ AC_SUBST(LOCAL_PATHS) + + # options for configure scripts + AC_ARG_ENABLE(gtkgl, +- AC_HELP_STRING([--enable-gtkgl], [Enable gtkglext interface.]), [ +- AC_DEFINE(HAVE_GTKGL, 1) ++ AS_HELP_STRING([--enable-gtkgl],[Enable gtkglext interface.]), [ ++ AC_DEFINE(HAVE_GTKGL, 1, [Have gtkglext interface]) + GTKGL_SO="gauche-gtkgl.so" + GTKGL_LIB="-lgtkgl"; + GTKGL_SCM="gtk/gtkgl.scm"; + PANGOFT2_LIB="" + ]) + AC_ARG_ENABLE(glgd, +- AC_HELP_STRING([--enable-glgd], [Enable glgd interface.]), [ +- AC_DEFINE(HAVE_GTKGL, 1) +- AC_DEFINE(HAVE_GLGD, 1) ++ AS_HELP_STRING([--enable-glgd],[Enable glgd interface.]), [ ++ AC_DEFINE(HAVE_GTKGL, 1, [Have gtkglext interface]) ++ AC_DEFINE(HAVE_GLGD, 1, [Have gldg interface]) + GTKGL_SO="gauche-gtkgl.so" + GTKGL_LIB="-lgtkgl"; + GTKGL_SCM="gtk/gtkgl.scm" +@@ -44,10 +43,10 @@ AC_ARG_ENABLE(glgd, + GLGD_SCM="gtk/glgd.scm" + ]) + AC_ARG_ENABLE(glgd-pango, +- AC_HELP_STRING([--enable-glgd-pango], [Enable glgd interface with Pango.]), [ +- AC_DEFINE(HAVE_GTKGL, 1) +- AC_DEFINE(HAVE_GLGD, 1) +- AC_DEFINE(HAVE_GLGD_PANGO, 1) ++ AS_HELP_STRING([--enable-glgd-pango],[Enable glgd interface with Pango.]), [ ++ AC_DEFINE(HAVE_GTKGL, 1, [Have gtkglext interface]) ++ AC_DEFINE(HAVE_GLGD, 1, [Have gldg interface]) ++ AC_DEFINE(HAVE_GLGD_PANGO, 1, [Have gldg interface with Pango]) + GTKGL_SO="gauche-gtkgl.so" + GTKGL_LIB="-lgtkgl"; + GTKGL_SCM="gtk/gtkgl.scm" +@@ -113,4 +112,5 @@ $GAUCHE_PACKAGE make-gpd "$PACKAGE_NAME" + + # Output + echo $PACKAGE_VERSION > VERSION +-AC_OUTPUT(Makefile src/Makefile lib/Makefile gtkgl/Makefile glgd/Makefile) ++AC_CONFIG_FILES([Makefile src/Makefile lib/Makefile gtkgl/Makefile glgd/Makefile]) ++AC_OUTPUT diff --git a/09-gen-gpd-fix.patch b/09-gen-gpd-fix.patch new file mode 100644 index 0000000..59e39fb --- /dev/null +++ b/09-gen-gpd-fix.patch @@ -0,0 +1,13 @@ +Index: gauche-gtk/configure.ac +=================================================================== +--- gauche-gtk.orig/configure.ac ++++ gauche-gtk/configure.ac +@@ -104,7 +104,7 @@ GEN_STUBS="`echo $gen_files | sed 's/\.h + AC_SUBST(GEN_STUBS) + + dnl Creating gpd (gauche package description) file +-GAUCHE_PACKAGE_CONFIGURE_ARGS="`echo ""$ac_configure_args"" | sed 's/[\\""\`\$]/\\\&/g'`" ++GAUCHE_PACKAGE_CONFIGURE_ARGS=`echo "$ac_configure_args" | sed 's/@<:@\\"\`\$@:>@/\\\\&/g' 's/-f@<:@a-z@:>@*-prefix-map=@<:@^ @:>@* //'` + AC_MSG_NOTICE([creating ${PACKAGE_NAME}.gpd]) + $GAUCHE_PACKAGE make-gpd "$PACKAGE_NAME" \ + -version "$PACKAGE_VERSION" \ diff --git a/gauche-gtk.spec b/gauche-gtk.spec index 72b61d9..760925f 100644 --- a/gauche-gtk.spec +++ b/gauche-gtk.spec @@ -1,30 +1,27 @@ %global gauche_main_version 0.9 -%global snapshot_date 20121223 -%global git_revision ceb4579 +%global snapshot_date 20181110 +%global git_sha 0220722c44ef85f2e1b9b14745702c1b923258e8 +%global git_revision %(c=%{git_sha}; echo ${c:0:7}) %global alphatag %{snapshot_date}git%{git_revision} Name: gauche-gtk Epoch: 1 Version: 0.6 -Release: 0.21.%{alphatag}%{?dist} +Release: 0.22.%{alphatag}%{?dist} Summary: Gauche extension module to use GTK -%if 0%{?rhel} -Group: Development/Languages -%endif License: BSD URL: http://practical-scheme.net/ -# no stable release yet -# git clone git://github.com/shirok/Gauche-gtk2.git -# (cd Gauche-gtk2 && git archive --format=tar \ -# --prefix=%%{name}-%%{version}/ %%{git_revision} \ -# | xz ) > %%{name}-%%{version}-%%{git_revision}.tar.xz -Source0: %{name}-%{version}-%{git_revision}.tar.xz - -%if 0%{?el5} -%endif - +Source0: https://github.com/shirok/Gauche-gtk2/archive/%{git_sha}.tar.gz#/%{name}-%{version}-%{git_revision}.tar.gz +Patch0: https://sources.debian.org/data/main/g/gauche-gtk/0.6+git20160927-3/debian/patches/00_no_path_xtra.patch +Patch1: https://sources.debian.org/data/main/g/gauche-gtk/0.6+git20160927-3/debian/patches/05_install_755.patch +Patch2: https://sources.debian.org/data/main/g/gauche-gtk/0.6+git20160927-3/debian/patches/06_gdk_pixbuf.patch +Patch3: https://sources.debian.org/data/main/g/gauche-gtk/0.6+git20160927-3/debian/patches/07-HUGE.patch +Patch4: https://sources.debian.org/data/main/g/gauche-gtk/0.6+git20160927-3/debian/patches/08-configure-ac-fix.patch +Patch5: https://sources.debian.org/data/main/g/gauche-gtk/0.6+git20160927-3/debian/patches/09-gen-gpd-fix.patch + +BuildRequires: gcc BuildRequires: gauche-devel BuildRequires: gtk2-devel BuildRequires: gtkglext-devel @@ -45,41 +42,35 @@ Gauche extension module to use GTK. %package devel Summary: Development files for %{name} -%if 0%{?rhel} -Group: Development/Languages -%endif -Requires: %{name} = %{epoch}:%{version}-%{release} +Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release} %description devel Development files for %{name}. %prep -%setup -q +%autosetup -p 1 -n Gauche-gtk2-%{git_sha} autoconf %build %configure --enable-gtkgl --enable-glgd --enable-glgd-pango -make stubs -make %{?_smp_mflags} OPTFLAGS= +%make_build stubs +%make_build OPTFLAGS= %install -%if 0%{?el5} -rm -rf $RPM_BUILD_ROOT -%endif -mkdir -p $RPM_BUILD_ROOT`gauche-config --syslibdir` -mkdir -p $RPM_BUILD_ROOT`gauche-config --sysarchdir` -make install DESTDIR=$RPM_BUILD_ROOT -find $RPM_BUILD_ROOT -name '*.so' -exec chmod 0755 '{}' ';' +mkdir -p %{buildroot}`gauche-config --syslibdir` +mkdir -p %{buildroot}`gauche-config --sysarchdir` +make install DESTDIR=%{buildroot} +find %{buildroot} -name '*.so' -exec chmod 0755 '{}' ';' chmod -c 644 */*.c # for debuginfo %check # 'make check' does not set return code properly, but # outputs to test.log -xvfb-run -a -w 1 make check +xvfb-run -a -w 1 %make_build check # Gtk test currently fails. # four known failures reported upstream; fail if more failures occur # https://github.com/shirok/Gauche-gtk2/issues/2 @@ -88,7 +79,8 @@ xvfb-run -a -w 1 make check %files -%doc COPYING README VERSION examples +%doc README VERSION examples +%license COPYING %{_libdir}/gauche-%{gauche_main_version}/site/*/*.so %{_datadir}/gauche-%{gauche_main_version}/site/lib/.packages/Gauche-gtk2.gpd %{_datadir}/gauche-%{gauche_main_version}/site/lib/gtk.scm @@ -101,6 +93,13 @@ xvfb-run -a -w 1 make check %changelog +* Sun Jan 06 2019 Björn Esser - 1:0.6-0.22.20160927git6fca535 +- Update to new snapshot, fixes FTBFS (#1604053) +- Add Debian patches, fixes FTBFS (#1604053) +- Add BuildRequires: gcc +- Use %license for COPYING file +- Modernize spec-file + * Fri Jul 13 2018 Fedora Release Engineering - 1:0.6-0.21.20121223gitceb4579 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild diff --git a/sources b/sources index 9e11b99..3217328 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -e71adf42208adefd55f1b613865892fa gauche-gtk-0.6-ceb4579.tar.xz +SHA512 (gauche-gtk-0.6-0220722.tar.gz) = 5379dafbfabd536e335c30af18f8ddd13e00238e6d99494bbc8e78ee9cf1db872c08b5deee42ac50898dedde39c441d837312d2d6f559a0d2ac2568c31926f70