Skip to Content.
Sympa Menu

sm-commit - [SM-Commit] GIT changes to master grimoire by Pavel Vinogradov (8d975a32be6df870a0910bba7931668adb5df6bf)

sm-commit AT lists.ibiblio.org

Subject: Source Mage code commit list

List archive

Chronological Thread  
  • From: Pavel Vinogradov <scm AT sourcemage.org>
  • To: sm-commit AT lists.ibiblio.org
  • Subject: [SM-Commit] GIT changes to master grimoire by Pavel Vinogradov (8d975a32be6df870a0910bba7931668adb5df6bf)
  • Date: Sat, 24 Sep 2016 19:14:02 +0000

GIT changes to master grimoire by Pavel Vinogradov <public AT sourcemage.org>:

http/firefox/DEPENDS | 12
http/firefox/DETAILS | 4
http/firefox/HISTORY | 9
http/firefox/PRE_BUILD | 2
http/firefox/old.configure.patch | 19
http/firefox/patches/firefox-49.0-system_graphite2_harfbuzz-1.patch | 353
++++++++++
http/firefox/patches/old.configure.patch | 19
7 files changed, 395 insertions(+), 23 deletions(-)

New commits:
commit 8d975a32be6df870a0910bba7931668adb5df6bf
Author: Pavel Vinogradov <public AT sourcemage.org>
Commit: Pavel Vinogradov <public AT sourcemage.org>

http/firefox: version 49.0.1

diff --git a/http/firefox/DEPENDS b/http/firefox/DEPENDS
index baca85c..1d6f27c 100755
--- a/http/firefox/DEPENDS
+++ b/http/firefox/DEPENDS
@@ -128,4 +128,14 @@ fi &&


suggest_depends_2 firefox-smglwiki "" "" \
- "to enable searching the SMGL Wiki from the Search Bar"
+ "to enable searching the SMGL Wiki from the Search Bar" &&
+
+optional_depends graphite2 \
+ "--with-system-graphite2" \
+ "--without-system-graphite2" \
+ "for system graphite2" &&
+
+optional_depends harfbuzz \
+ "--with-system-harfbuzz" \
+ "--without-system-harfbuzz" \
+ "for system harfbuzz"
diff --git a/http/firefox/DETAILS b/http/firefox/DETAILS
index 0baaa0b..4bc2117 100755
--- a/http/firefox/DETAILS
+++ b/http/firefox/DETAILS
@@ -1,7 +1,7 @@
SPELL=firefox
- VERSION=49.0
+ VERSION=49.0.1
SOURCE=${SPELL}-${VERSION}.source.tar.xz
-
SOURCE_HASH=sha512:9431f86dec5587131699ae57ae428be168e4d6c7d1d48df643c10540e8e18bc5eadfcd08bb204950be611c87d35d8a40aa8ece454b7dfa3992239639c2d688a9
+
SOURCE_HASH=sha512:6f56adde39db1b50937be3a50152a473d9d7221dd4d3f7ad4eb341f8a69ef1078a1073b783dfc8ee3150ebcc5eead4c4f0a9aa07f0fe5ab47731da575d571a16

SOURCE_URL[0]=http://releases.mozilla.org/pub/mozilla.org/${SPELL}/releases/${VERSION}/source/${SOURCE}

SOURCE_URL[1]=http://ftp.mozilla.org/pub/mozilla.org/${SPELL}/releases/${VERSION}/source/${SOURCE}
SECURITY_PATCH=96
diff --git a/http/firefox/HISTORY b/http/firefox/HISTORY
index 9be55b2..805916e 100644
--- a/http/firefox/HISTORY
+++ b/http/firefox/HISTORY
@@ -1,3 +1,12 @@
+2016-09-24 Pavel Vinogradov <public AT sourcemage.org>
+ * DETAILS: updated spell to 49.0.1
+ * DEPENDS: added support for system harfbuzz and graphite2
+ * PRE_BUILD: uses apply_patch_dir now
+ * old.configure.patch: moved to patches/
+ * patches/firefox-49.0-system_graphite2_harfbuzz-1.patch: added,
+ the patch is from LFS project and enables building with system
+ harfbuzz and graphite2
+
2016-09-20 Pavel Vinogradov <public AT sourcemage.org>
* DETAILS: updated spell to 49.0, SECURITY_PATCH++, (MFSA-2016-85)
* DEPENDS: added more plugins for gstreamer 1.0 (courtesy of
diff --git a/http/firefox/PRE_BUILD b/http/firefox/PRE_BUILD
index 1c3b2f5..547ce80 100755
--- a/http/firefox/PRE_BUILD
+++ b/http/firefox/PRE_BUILD
@@ -1,7 +1,7 @@
default_pre_build &&
cd $SOURCE_DIRECTORY &&

-patch -Np1 < ${SPELL_DIRECTORY}/old.configure.patch &&
+apply_patch_dir patches &&

# To remove version suffix from some directories
sed 's;-$(MOZ_APP_VERSION);;g' -i config/baseconfig.mk &&
diff --git a/http/firefox/old.configure.patch
b/http/firefox/old.configure.patch
deleted file mode 100644
index 9e44954..0000000
--- a/http/firefox/old.configure.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- firefox-48.0/build/moz.configure/old.configure.orig 2016-08-02
18:54:01.628898690 -0400
-+++ firefox-48.0/build/moz.configure/old.configure 2016-08-02
18:59:02.439491374 -0400
-@@ -154,6 +154,16 @@
-
-
- @old_configure_options(
-+ '--disable-installer',
-+ '--mandir',
-+ '--enable-mathml',
-+ '--enable-pango',
-+ '--enable-xft',
-+ '--disable-freetype2',
-+ '--enable-svg',
-+ '--with-system-vpx',
-+ '--enable-gstreamer',
-+ '--enable-system-libpng',
- '--cache-file',
- '--enable-accessibility',
- '--enable-address-sanitizer',
diff --git
a/http/firefox/patches/firefox-49.0-system_graphite2_harfbuzz-1.patch
b/http/firefox/patches/firefox-49.0-system_graphite2_harfbuzz-1.patch
new file mode 100644
index 0000000..ffb00ba
--- /dev/null
+++ b/http/firefox/patches/firefox-49.0-system_graphite2_harfbuzz-1.patch
@@ -0,0 +1,353 @@
+Submitted By: Ken Moffat <ken at linuxfromscratch dot org>
+Date: 2016-09-20
+Initial Package Version: 49.0
+Upstream Status: Waiting for review (mozilla bug 847568)
+Origin: OpenBSD (via gentoo)
+Description: Allow use of system versions of graphite2 and harfbuzz. This
+should be regarded as experimental. Add the options --with-system-graphite2
+and --with-system-harfbuzz to use this (needs recent versions of both).
+
+--- a/config/Makefile.in 2016-06-06 16:14:57.000000000 -0400
++++ b/config/Makefile.in 2016-06-27 13:48:05.161096423 -0400
+@@ -49,6 +49,8 @@
+ -DMOZ_SYSTEM_LIBEVENT=$(MOZ_SYSTEM_LIBEVENT) \
+ -DMOZ_SYSTEM_LIBVPX=$(MOZ_SYSTEM_LIBVPX) \
+ -DMOZ_SYSTEM_ICU=$(MOZ_SYSTEM_ICU) \
++ -DMOZ_SYSTEM_GRAPHITE2=$(MOZ_SYSTEM_GRAPHITE2) \
++ -DMOZ_SYSTEM_HARFBUZZ=$(MOZ_SYSTEM_HARFBUZZ) \
+ $(srcdir)/system-headers | $(PERL)
$(topsrcdir)/nsprpub/config/make-system-wrappers.pl system_wrappers
+ $(INSTALL) system_wrappers $(DIST)
+
+--- a/config/system-headers
++++ b/config/system-headers
+@@ -1340,8 +1340,16 @@ unicode/udatpg.h
+ unicode/uenum.h
+ unicode/unorm.h
+ unicode/unum.h
+ unicode/ustring.h
+ unicode/utypes.h
+ #endif
+ libutil.h
+ unwind.h
++#if MOZ_SYSTEM_GRAPHITE2==1
++graphite2/Font.h
++graphite2/Segment.h
++#endif
++#if MOZ_SYSTEM_HARFBUZZ==1
++harfbuzz/hb-ot.h
++harfbuzz/hb.h
++#endif
+--- a/dom/base/moz.build 2016-06-27 13:50:37.250935715 -0400
++++ b/dom/base/moz.build 2016-06-27 13:50:51.810920330 -0400
+@@ -477,16 +477,19 @@
+ DEFINES[var] = True
+
+ if CONFIG['MOZ_BUILD_APP'] in ['browser', 'mobile/android', 'xulrunner']:
+ DEFINES['HAVE_SIDEBAR'] = True
+
+ if CONFIG['MOZ_X11']:
+ CXXFLAGS += CONFIG['TK_CFLAGS']
+
++if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
++ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
++
+ GENERATED_FILES += [
+ 'PropertyUseCounterMap.inc',
+ 'UseCounterList.h',
+ ]
+
+ countermap = GENERATED_FILES['PropertyUseCounterMap.inc']
+ countermap.script = 'gen-usecounters.py:property_map'
+ countermap.inputs = ['UseCounters.conf']
+--- a/gfx/graphite2/moz-gr-update.sh 2016-06-27 15:44:54.734282695 -0400
++++ b/gfx/graphite2/moz-gr-update.sh 2016-06-27 15:45:49.624228377 -0400
+@@ -1,11 +1,12 @@
+ #!/bin/bash
+
+ # Script used to update the Graphite2 library in the mozilla source tree
++# and bump version for --with-system-graphite2
+
+ # This script lives in gfx/graphite2, along with the library source,
+ # but must be run from the top level of the mozilla-central tree.
+
+ # Run as
+ #
+ # ./gfx/graphite2/moz-gr-update.sh RELEASE
+ #
+@@ -32,22 +33,26 @@
+ echo "$TARBALL" >> gfx/graphite2/README.mozilla
+ echo ""
+ echo "See" $0 "for update procedure." >> gfx/graphite2/README.mozilla
+
+ # fix up includes because of bug 721839 (cstdio) and bug 803066 (Windows.h)
+ #find gfx/graphite2/ -name "*.cpp" -exec perl -p -i -e
"s/<cstdio>/<stdio.h>/;s/Windows.h/windows.h/;" {} \;
+ #find gfx/graphite2/ -name "*.h" -exec perl -p -i -e
"s/<cstdio>/<stdio.h>/;s/Windows.h/windows.h/;" {} \;
+
++# chase version for --with-system-graphite2
++perl -p -i -e "s/[0-9]+\,[0-9]+\,[0-9]+/$RELEASE/ and tr/./,/ \
++ if /GR2_VERSION_REQUIRE/" old-configure.in
++
+ # summarize what's been touched
+ echo Updated to $RELEASE.
+ echo Here is what changed in the gfx/graphite2 directory:
+ echo
+
+-hg stat gfx/graphite2
++hg stat old-configure.in gfx/graphite2
+
+ echo
+ echo If gfx/graphite2/src/files.mk has changed, please make corresponding
+ echo changes to gfx/graphite2/src/moz.build
+ echo
+
+ echo
+ echo Now use hg commands to create a patch for the mozilla tree.
+--- a/gfx/skia/generate_mozbuild.py 2016-06-27 15:49:46.393994080 -0400
++++ b/gfx/skia/generate_mozbuild.py 2016-06-27 15:49:54.893985667 -0400
+@@ -131,16 +131,19 @@
+ if CONFIG['CLANG_CXX'] or CONFIG['CLANG_CL']:
+ CXXFLAGS += [
+ '-Wno-implicit-fallthrough',
+ '-Wno-inconsistent-missing-override',
+ '-Wno-macro-redefined',
+ '-Wno-unused-private-field',
+ ]
+
++if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
++ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
++
+ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3', 'android', 'gonk',
'qt'):
+ CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
+ CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
+
+ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3', 'qt'):
+ CXXFLAGS += CONFIG['MOZ_PANGO_CFLAGS']
+ """
+
+--- a/gfx/skia/moz.build 2016-06-27 15:51:15.493905908 -0400
++++ b/gfx/skia/moz.build 2016-06-27 15:51:23.763897724 -0400
+@@ -749,14 +749,17 @@
+ if CONFIG['CLANG_CXX'] or CONFIG['CLANG_CL']:
+ CXXFLAGS += [
+ '-Wno-implicit-fallthrough',
+ '-Wno-inconsistent-missing-override',
+ '-Wno-macro-redefined',
+ '-Wno-unused-private-field',
+ ]
+
++if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
++ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
++
+ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3', 'android', 'gonk',
'qt'):
+ CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
+ CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
+
+ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3', 'qt'):
+ CXXFLAGS += CONFIG['MOZ_PANGO_CFLAGS']
+--- a/intl/unicharutil/util/moz.build 2016-06-27 15:53:26.793775979 -0400
++++ b/intl/unicharutil/util/moz.build 2016-06-27 15:53:39.513763391 -0400
+@@ -39,9 +39,12 @@
+ CFLAGS += ['-Zl']
+ CXXFLAGS += ['-Zl']
+
+ if CONFIG['ENABLE_INTL_API']:
+ CXXFLAGS += CONFIG['MOZ_ICU_CFLAGS']
+ LOCAL_INCLUDES += CONFIG['MOZ_ICU_INCLUDES']
+ USE_LIBS += ['icu']
+
++if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
++ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
++
+ DIST_INSTALL = True
+--- a/netwerk/dns/moz.build 2016-06-27 15:54:20.993722345 -0400
++++ b/netwerk/dns/moz.build 2016-06-27 15:54:29.023714398 -0400
+@@ -61,16 +61,19 @@
+ etld_data.script = 'prepare_tlds.py'
+ etld_data.inputs = ['effective_tld_names.dat']
+
+ # need to include etld_data.inc
+ LOCAL_INCLUDES += [
+ '/netwerk/base',
+ ]
+
++if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
++ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
++
+ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk' and CONFIG['ANDROID_VERSION'] >
'19':
+ LOCAL_INCLUDES += ['%' + '%s/bionic/libc/dns/include' %
CONFIG['ANDROID_SOURCE']]
+
+ if CONFIG['ENABLE_INTL_API']:
+ DEFINES['IDNA2008'] = True
+ CXXFLAGS += CONFIG['MOZ_ICU_CFLAGS']
+ CFLAGS += CONFIG['MOZ_ICU_CFLAGS']
+ LOCAL_INCLUDES += CONFIG['MOZ_ICU_INCLUDES']
+--- a/old-configure.in 2016-06-27 15:58:22.753483108 -0400
++++ b/old-configure.in 2016-06-27 15:59:47.073399669 -0400
+@@ -6311,16 +6311,59 @@
+ else
+ FT2_CFLAGS="$FT2_CFLAGS $_FONTCONFIG_CFLAGS"
+ FT2_LIBS="$FT2_LIBS $_FONTCONFIG_LIBS"
+ fi
+ ])
+ fi
+
+ dnl ========================================================
++dnl Check for harfbuzz
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-harfbuzz,
++[ --with-system-harfbuzz Use system harfbuzz (located with pkgconfig)],
++MOZ_SYSTEM_HARFBUZZ=1,
++MOZ_SYSTEM_HARFBUZZ=)
++
++if test -n "$MOZ_SYSTEM_HARFBUZZ"; then
++ PKG_CHECK_MODULES(MOZ_HARFBUZZ, harfbuzz >= 1.2.6)
++fi
++
++AC_SUBST(MOZ_SYSTEM_HARFBUZZ)
++
++dnl ========================================================
++dnl Check for graphite2
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-graphite2,
++[ --with-system-graphite2 Use system graphite2 (located with pkgconfig)],
++MOZ_SYSTEM_GRAPHITE2=1,
++MOZ_SYSTEM_GRAPHITE2=)
++
++if test -n "$MOZ_SYSTEM_GRAPHITE2"; then
++ PKG_CHECK_MODULES(MOZ_GRAPHITE2, graphite2)
++
++ dnl graphite2.pc has bogus version, check manually
++ AC_TRY_COMPILE([ #include <graphite2/Font.h>
++ #define GR2_VERSION_REQUIRE(major,minor,bugfix) \
++ ( GR2_VERSION_MAJOR * 10000 +
GR2_VERSION_MINOR \
++ * 100 + GR2_VERSION_BUGFIX >= \
++ (major) * 10000 + (minor) * 100 + (bugfix) )
++ ], [
++ #if !GR2_VERSION_REQUIRE(1,3,8)
++ #error "Insufficient graphite2 version."
++ #endif
++ ], [],
++ [AC_MSG_ERROR([--with-system-graphite2 requested but no
working libgraphite2 found])])
++fi
++
++AC_SUBST(MOZ_SYSTEM_GRAPHITE2)
++
++dnl ========================================================
+ dnl Check for pixman and cairo
+ dnl ========================================================
+
+ MOZ_TREE_CAIRO=1
+ MOZ_ARG_ENABLE_BOOL(system-cairo,
+ [ --enable-system-cairo Use system cairo (located with pkgconfig)],
+ MOZ_TREE_CAIRO=,
+ MOZ_TREE_CAIRO=1 )
+--- a/toolkit/library/moz.build 2016-06-27 16:01:38.693289157 -0400
++++ b/toolkit/library/moz.build 2016-06-27 16:01:50.413277443 -0400
+@@ -230,16 +230,22 @@
+ OS_LIBS += CONFIG['MOZ_LIBVPX_LIBS']
+
+ if not CONFIG['MOZ_TREE_PIXMAN']:
+ OS_LIBS += CONFIG['MOZ_PIXMAN_LIBS']
+
+ if CONFIG['MOZ_ALSA']:
+ OS_LIBS += CONFIG['MOZ_ALSA_LIBS']
+
++if CONFIG['MOZ_SYSTEM_GRAPHITE2']:
++ OS_LIBS += CONFIG['MOZ_GRAPHITE2_LIBS']
++
++if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
++ OS_LIBS += CONFIG['MOZ_HARFBUZZ_LIBS']
++
+ if CONFIG['HAVE_CLOCK_MONOTONIC']:
+ OS_LIBS += CONFIG['REALTIME_LIBS']
+
+ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
+ OS_LIBS += [
+ 'GLESv2',
+ ]
+
+--- a/gfx/thebes/moz.build 2016-06-27 16:03:06.063201834 -0400
++++ b/gfx/thebes/moz.build 2016-06-27 16:03:23.873184034 -0400
+@@ -297,17 +297,24 @@
+ # top of the android java runtime.
+ DEFINES['MOZ_USING_ANDROID_JAVA_WIDGETS'] = True
+
+ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3', 'qt'):
+ CXXFLAGS += CONFIG['MOZ_PANGO_CFLAGS']
+
+ LOCAL_INCLUDES += CONFIG['SKIA_INCLUDES']
+
+-DEFINES['GRAPHITE2_STATIC'] = True
++if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
++ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
++
++if CONFIG['MOZ_SYSTEM_GRAPHITE2']:
++ CXXFLAGS += CONFIG['MOZ_GRAPHITE2_CFLAGS']
++else:
++ DEFINES['GRAPHITE2_STATIC'] = True
++
+
+ if CONFIG['CLANG_CXX']:
+ # Suppress warnings from Skia header files.
+ SOURCES['gfxPlatform.cpp'].flags += ['-Wno-implicit-fallthrough']
+
+ if CONFIG['_MSC_VER']:
+ # This is intended as a temporary hack to support building with VS2015.
+ CXXFLAGS += ['-wd4577']
+--- a/build/moz.configure/old.configure 2016-06-28 12:49:10.152997194
-0400
++++ b/build/moz.configure/old.configure 2016-06-28 12:54:11.052774364
-0400
+@@ -320,6 +320,8 @@
+ '--with-sixgill',
+ '--with-soft-float',
+ '--with-system-bz2',
++ '--with-system-graphite2',
++ '--with-system-harfbuzz',
+ '--with-system-icu',
+ '--with-system-jpeg',
+ '--with-system-libevent',
+--- a/extensions/spellcheck/hunspell/glue/moz.build
++++ b/extensions/spellcheck/hunspell/glue/moz.build
+@@ -38,4 +38,4 @@ if CONFIG['GNU_CXX']:
+
+ # This variable is referenced in configure.in. Make sure to change that
file
+ # too if you need to change this variable.
+-DEFINES['HUNSPELL_STATIC'] = True
++DEFINES['HUNSPELL_STATIC'] = not CONFIG['MOZ_SYSTEM_HUNSPELL']
+
+--- a/gfx/moz.build 2016-08-01 12:14:28.000000000 -0400
++++ b/gfx/moz.build 2016-08-31 16:07:28.908707981 -0400
+@@ -2,26 +2,30 @@
+ # vim: set filetype=python:
+ # This Source Code Form is subject to the terms of the Mozilla Public
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+ if CONFIG['MOZ_TREE_CAIRO']:
+ DIRS += ['cairo']
+
++if not CONFIG['MOZ_SYSTEM_GRAPHITE2']:
++ DIRS += ['graphite2/src' ]
++
++if not CONFIG['MOZ_SYSTEM_HARFBUZZ']:
++ DIRS += ['harfbuzz/src']
++
+ DIRS += [
+ '2d',
+ 'ycbcr',
+ 'angle',
+ 'src',
+ 'qcms',
+ 'gl',
+ 'layers',
+- 'graphite2/src',
+- 'harfbuzz/src',
+ 'ots/src',
+ 'thebes',
+ 'ipc',
+ 'vr',
+ 'config',
+ ]
+
+ if CONFIG['MOZ_ENABLE_SKIA']:
diff --git a/http/firefox/patches/old.configure.patch
b/http/firefox/patches/old.configure.patch
new file mode 100644
index 0000000..9e44954
--- /dev/null
+++ b/http/firefox/patches/old.configure.patch
@@ -0,0 +1,19 @@
+--- firefox-48.0/build/moz.configure/old.configure.orig 2016-08-02
18:54:01.628898690 -0400
++++ firefox-48.0/build/moz.configure/old.configure 2016-08-02
18:59:02.439491374 -0400
+@@ -154,6 +154,16 @@
+
+
+ @old_configure_options(
++ '--disable-installer',
++ '--mandir',
++ '--enable-mathml',
++ '--enable-pango',
++ '--enable-xft',
++ '--disable-freetype2',
++ '--enable-svg',
++ '--with-system-vpx',
++ '--enable-gstreamer',
++ '--enable-system-libpng',
+ '--cache-file',
+ '--enable-accessibility',
+ '--enable-address-sanitizer',



  • [SM-Commit] GIT changes to master grimoire by Pavel Vinogradov (8d975a32be6df870a0910bba7931668adb5df6bf), Pavel Vinogradov, 09/24/2016

Archive powered by MHonArc 2.6.24.

Top of Page