diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5e6cc86 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +seed-2.31.5.tar.bz2 +/seed-2.31.91.tar.bz2 +/seed-2.91.90.tar.bz2 +/seed-3.0.0.tar.bz2 diff --git a/README.Fedora b/README.Fedora new file mode 100644 index 0000000..39d30d1 --- /dev/null +++ b/README.Fedora @@ -0,0 +1,23 @@ +There is a known problem importing the Gtk library from seed on +systems where seed is built against Gtk2, if Gtk3 is also installed; +this is because both Gtk versions install gobject-introspection +typelib files in the repository, and unless the desired version is +explicitly specified. + +Simply importing Gtk fails as such: + +> imports.gi.Gtk +seed: symbol lookup error: /usr/lib64/libgtk-x11-3.0.so.0: undefined +symbol: g_application_get_type + +The workaround is to specify the version as such: + +> // note the quotes; otherwise 2.0 gets evaluated as just 2 +> imports.gi.versions.Gtk = "2.0"; +2.0 +> Gtk = imports.gi.Gtk; +[object Object] +> + +See example 3 on the Reference Manual's Importer section: +http://library.gnome.org/devel/seed/stable/seed-importer.html diff --git a/dead.package b/dead.package deleted file mode 100644 index d08f27b..0000000 --- a/dead.package +++ /dev/null @@ -1 +0,0 @@ -webkitgtk3 retired, doesn't build cleanly against webkitgtk4, no stable release for years and no dependents diff --git a/seed-3.0.0-multilib.patch b/seed-3.0.0-multilib.patch new file mode 100644 index 0000000..086480b --- /dev/null +++ b/seed-3.0.0-multilib.patch @@ -0,0 +1,31 @@ +--- seed-3.0.0/extensions/Seed.js.in.multilib 2011-02-22 23:44:01.000000000 +0100 ++++ seed-3.0.0/extensions/Seed.js.in 2011-08-07 23:22:09.249981721 +0200 +@@ -174,6 +174,7 @@ + if(!imports.searchPath || (imports.searchPath.length == 0)) + { + imports.searchPath = [ "%gnomejsdir%", ++ "%pkglib64dir%", + "%pkglibdir%", + "%pkgdatadir%", + "/usr/local/lib/seed", +--- seed-3.0.0/extensions/Makefile.in.multilib 2011-04-02 04:58:19.000000000 +0200 ++++ seed-3.0.0/extensions/Makefile.in 2011-08-07 23:25:36.180525310 +0200 +@@ -18,7 +18,8 @@ + VPATH = @srcdir@ + pkgdatadir = $(datadir)/@PACKAGE@ + pkgincludedir = $(includedir)/@PACKAGE@ +-pkglibdir = $(libdir)/@PACKAGE@ ++pkglib64dir = $(prefix)/lib64/@PACKAGE@ ++pkglibdir = $(prefix)/lib/@PACKAGE@ + pkglibexecdir = $(libexecdir)/@PACKAGE@ + am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd + install_sh_DATA = $(install_sh) -c -m 644 +@@ -510,7 +511,7 @@ + + + Seed.js: Seed.js.in +- $(AM_V_GEN) $(SED) -e "s|%pkglibdir%|$(pkglibdir)@SEED_GTK_VERSION@|" -e "s|%pkgdatadir%|$(pkgdatadir)@SEED_GTK_VERSION@|" -e "s|%gnomejsdir%|$(GNOME_JS_DIR)|" $< > $@ ++ $(AM_V_GEN) $(SED) -e "s|%pkglib64dir%|$(pkglib64dir)@SEED_GTK_VERSION@|" -e "s|%pkglibdir%|$(pkglibdir)@SEED_GTK_VERSION@|" -e "s|%pkgdatadir%|$(pkgdatadir)@SEED_GTK_VERSION@|" -e "s|%gnomejsdir%|$(GNOME_JS_DIR)|" $< > $@ + + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. diff --git a/seed.spec b/seed.spec new file mode 100644 index 0000000..71395fd --- /dev/null +++ b/seed.spec @@ -0,0 +1,180 @@ +Name: seed +Version: 3.0.0 +Release: 2%{?dist} +Summary: GNOME JavaScript interpreter + +Group: Development/Languages +License: LGPLv3+ +URL: http://live.gnome.org/Seed +Source0: http://ftp.gnome.org/pub/gnome/sources/seed/3.0/seed-%{version}.tar.bz2 +Source1: README.Fedora +# Seed.js multilib fix +Patch0: seed-3.0.0-multilib.patch + +BuildRequires: dbus-glib-devel +BuildRequires: gobject-introspection-devel +BuildRequires: gnome-js-common-devel +BuildRequires: intltool +BuildRequires: mpfr-devel +BuildRequires: readline-devel +BuildRequires: sqlite-devel +%if 0%{?fedora} > 14 +BuildRequires: webkitgtk3-devel +%else +BuildRequires: webkitgtk-devel +%endif +BuildRequires: gtk-doc + +#BuildRequires: automake autoconf libtool +Requires: gnome-js-common + +%description +Seed is a library and interpreter, dynamically bridging (through +GObjectIntrospection) the WebKit JavaScriptCore engine, with the GNOME +platform. Seed serves as something which enables you to write +standalone applications in JavaScript, or easily enable your +application to be extensible in JavaScript. + + +%package devel +Summary: Development files for %{name} +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} + +%description devel +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}. + +%package doc +Summary: Documentation files for %{name} +Group: Documentation +BuildArch: noarch +Requires: %{name} = %{version}-%{release} + +%description doc +The %{name}-doc package contains documentation for +developing applications that use %{name}. + + +%prep +%setup -q +%patch0 -p1 -b .multilib +cp -p %{SOURCE1} . + +#mkdir m4 +#autoreconf -i -f + +# add lib64 to dlsearch_path_spec +sed -i.libdir_syssearch -e \ + '/sys_lib_dlsearch_path_spec/s|/usr/lib |/usr/lib /usr/lib64 /lib /lib64 |' \ + configure +sed -i.cflags -e \ + 's|^\([ \t][ \t]*\)CFLAGS=\"[^\$].*$|\1true|' \ + configure + +# remove unneeded shebang +(cd extensions && + touch -r repl.js{,.timestamp} && + sed -i '1,2d' repl.js && + touch -r repl.js{.timestamp,} && + rm repl.js.timestamp) + + +%build +%configure \ +%if 0%{?fedora} > 14 + --with-webkit=3.0 +%else + --with-webkit=1.0 +%endif +make V=1 %{?_smp_mflags} + + +%install +rm -rf $RPM_BUILD_ROOT +make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p" +find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';' +find $RPM_BUILD_ROOT -name '*.a' -exec rm -f {} ';' + +# grab developer docs +mv $RPM_BUILD_ROOT%{_docdir}/seed devdocs +# remove files already bundled with main package +rm devdocs/{AUTHORS,COPYING,INSTALL,README} + + +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + + +%files +%defattr(-,root,root,-) +%doc AUTHORS COPYING NEWS README README.Fedora +%{_bindir}/seed +%{_libdir}/*.so.* +%{_libdir}/seed-gtk3 +%{_datadir}/seed-gtk3 +%{_datadir}/man/man1/seed.1.* + +%files devel +%defattr(-,root,root,-) +%{_includedir}/seed-gtk3 +%{_libdir}/pkgconfig/seed.pc +%{_libdir}/*.so + +%files doc +%defattr(-,root,root,-) +%doc devdocs/* +%dir %{_datadir}/gtk-doc +%dir %{_datadir}/gtk-doc/html +%{_datadir}/gtk-doc/html/seed + + +%changelog +* Sun Aug 7 2011 Michel Salim - 3.0.0-2 +- Multilib fix: Seed.js now searches both lib64 and lib directories +- Documentation subpackage no longer depends on gtk-doc (# 707571) + +* Sun Apr 3 2011 Christopher Aillon - 3.0.0-1 +- Update to 3.0.0 + +* Tue Feb 22 2011 Matthias Clasen - 2.91.90-1 +- Update to 2.91.90 + +* Fri Feb 11 2011 Matthias Clasen - 2.31.91-7 +- Rebuild against newer gtk + +* Wed Feb 09 2011 Fedora Release Engineering - 2.31.91-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Wed Feb 2 2011 Matthias Clasen - 2.31.91-5 +- Rebuild against newer gtk + +* Sun Jan 9 2011 Matthias Clasen - 2.31.91-4 +- Rebuild against newer gtk + +* Fri Dec 3 2010 Matthias Clasen - 2.31.91-3 +- Rebuild against newer gtk + +* Fri Nov 5 2010 Michel Salim - 2.31.91-2 +- Only build against GTK+ 3.0 on Fedora > 14 + +* Wed Sep 29 2010 Colin Walters - 2.31.91-1 +- New upstream version + +* Mon Jul 12 2010 Colin Walters - 2.31.1-3 +- Rebuild against new gobject-introspection + +* Mon Jul 5 2010 Michel Salim - 2.31.1-2 +- Rebuild for webkitgtk soname change + +* Tue Jun 22 2010 Michel Salim - 2.31.1-1 +- Update to 2.31.1 + +* Fri Jun 18 2010 Michel Salim - 2.30.0-2 +- Incorporate review recommendations (bz #600638) +- Remove unneeded shebang in repl.js +- Make -doc noarch + +* Mon Mar 29 2010 Michel Salim - 2.30.0-1 +- Initial package diff --git a/sources b/sources new file mode 100644 index 0000000..f15d3e1 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +cd81d33cdb97bd0afa28dbe6e973355d seed-3.0.0.tar.bz2