pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/sysutils/recoll



Module Name:    pkgsrc
Committed By:   wiz
Date:           Mon Oct  2 06:05:12 UTC 2023

Added Files:
        pkgsrc/sysutils/recoll: DESCR Makefile PLIST distinfo
        pkgsrc/sysutils/recoll/patches: patch-qtgui_recoll.pro.in
            patch-utils_pxattr.cpp

Log Message:
sysutils/recoll: import recoll-1.35.0

Recoll is a desktop text search application for Unix, Linux and Mac OS


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 pkgsrc/sysutils/recoll/DESCR \
    pkgsrc/sysutils/recoll/Makefile pkgsrc/sysutils/recoll/PLIST \
    pkgsrc/sysutils/recoll/distinfo
cvs rdiff -u -r0 -r1.1 \
    pkgsrc/sysutils/recoll/patches/patch-qtgui_recoll.pro.in \
    pkgsrc/sysutils/recoll/patches/patch-utils_pxattr.cpp

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Added files:

Index: pkgsrc/sysutils/recoll/DESCR
diff -u /dev/null pkgsrc/sysutils/recoll/DESCR:1.1
--- /dev/null   Mon Oct  2 06:05:12 2023
+++ pkgsrc/sysutils/recoll/DESCR        Mon Oct  2 06:05:12 2023
@@ -0,0 +1 @@
+Recoll is a desktop text search application for Unix, Linux and Mac OS
Index: pkgsrc/sysutils/recoll/Makefile
diff -u /dev/null pkgsrc/sysutils/recoll/Makefile:1.1
--- /dev/null   Mon Oct  2 06:05:12 2023
+++ pkgsrc/sysutils/recoll/Makefile     Mon Oct  2 06:05:12 2023
@@ -0,0 +1,84 @@
+# $NetBSD: Makefile,v 1.1 2023/10/02 06:05:12 wiz Exp $
+
+DISTNAME=      recoll-1.35.0
+CATEGORIES=    sysutils
+MASTER_SITES=  http://www.lesbonscomptes.com/recoll/
+
+MAINTAINER=    slitvinov%gmail.com@localhost
+HOMEPAGE=      https://www.lesbonscomptes.com/recoll/
+COMMENT=       Full text desktop search engine
+LICENSE=       gnu-gpl-v2
+
+DEPENDS+=      poppler-utils-[0-9]*:../../print/poppler-utils
+DEPENDS+=      pstotext-[0-9]*:../../converters/pstotext
+DEPENDS+=      antiword-[0-9]*:../../textproc/antiword
+DEPENDS+=      libwpd-[0-9]*:../../converters/libwpd
+DEPENDS+=      untex-[0-9]*:../../textproc/untex
+DEPENDS+=      tex-dvips-[0-9]*:../../print/tex-dvips
+DEPENDS+=      unrar-[0-9]*:../../archivers/unrar
+DEPENDS+=      p5-Image-ExifTool-[0-9]*:../../graphics/p5-Image-ExifTool
+DEPENDS+=      djvulibre-tools-[0-9]*:../../graphics/djvulibre-tools
+DEPENDS+=      ${PYPKGPREFIX}-mutagen-[0-9]*:../../audio/py-mutagen
+DEPENDS+=      ${PYPKGPREFIX}-rarfile-[0-9]*:../../archivers/py-rarfile
+#DEPENDS+=     ${PYPKGPREFIX}-chm-[0-9]*:../../wip/py-chm
+# RTF Files: unrtf
+# Midi karaoke files need Python and the Midi module
+# Konqueror webarchive format with Python (uses the Tarfile module).
+
+GNU_CONFIGURE= yes
+USE_LANGUAGES= c c++
+USE_LIBTOOL=   yes
+USE_TOOLS+=    perl:run pkg-config unzip:run
+
+CONFIGURE_ARGS+=       --enable-recollq
+CONFIGURE_ARGS+=       --with-aspell=${BUILDLINK_PREFIX.aspell}/bin/aspell
+CONFIGURE_ARGS+=       --with-file-command=${BUILDLINK_PREFIX.file}/bin/file
+
+BUILDLINK_TRANSFORM+=  opt:-ldl:${BUILDLINK_LDADD.dl:M*}
+LDFLAGS+=              ${COMPILER_RPATH_FLAG}${PREFIX}/lib/recoll
+
+PY_PATCHPLIST=         yes
+REPLACE_PYTHON+=       *.py */*.py */*/*.py */*/*/*.py
+REPLACE_PERL+=         filters/rclimg
+
+SUBST_CLASSES+=                base64
+SUBST_SED.base64+=     -e "s/base64.h/recoll_base64.h/"
+SUBST_MESSAGE.base64=  Renaming file to avoid conflict with krb5/base64.h
+SUBST_STAGE.base64=    pre-configure
+SUBST_FILES.base64+=   qtgui/xmltosd.cpp
+SUBST_FILES.base64+=   qtgui/ssearch_w.cpp
+SUBST_FILES.base64+=   rcldb/searchdatatox.cpp
+SUBST_FILES.base64+=   rcldb/searchdataxml.cpp
+SUBST_FILES.base64+=   rcldb/searchdata.cpp
+SUBST_FILES.base64+=   Makefile.in
+#SUBST_FILES.base64+=  Makefile.am
+SUBST_FILES.base64+=   utils/fileudi.cpp
+SUBST_FILES.base64+=   utils/mimeparse.cpp
+SUBST_FILES.base64+=   utils/mimeparse.h
+SUBST_FILES.base64+=   query/docseqhist.cpp
+SUBST_FILES.base64+=   query/recollq.cpp
+SUBST_FILES.base64+=   query/dynconf.h
+SUBST_FILES.base64+=   query/dynconf.cpp
+
+pre-configure:
+       ${MV} ${WRKSRC}/utils/base64.h ${WRKSRC}/utils/recoll_base64.h
+
+.include "../../converters/libiconv/buildlink3.mk"
+.include "../../devel/zlib/buildlink3.mk"
+.include "../../devel/chmlib/buildlink3.mk"
+.include "../../graphics/hicolor-icon-theme/buildlink3.mk"
+.include "../../lang/python/application.mk"
+.include "../../lang/python/extension.mk"
+.include "../../lang/python/tool.mk"
+.include "../../sysutils/desktop-file-utils/desktopdb.mk"
+# not found by configure even when included
+#.include "../../sysutils/fam/buildlink3.mk"
+.include "../../sysutils/file/buildlink3.mk"
+.include "../../textproc/aspell/buildlink3.mk"
+.include "../../textproc/libxslt/buildlink3.mk"
+.include "../../textproc/xapian/buildlink3.mk"
+.include "../../x11/qt5-qtbase/buildlink3.mk"
+.include "../../x11/qt5-qttools/buildlink3.mk"
+.include "../../x11/qt5-qtwebkit/buildlink3.mk"
+.include "../../mk/dlopen.buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
Index: pkgsrc/sysutils/recoll/PLIST
diff -u /dev/null pkgsrc/sysutils/recoll/PLIST:1.1
--- /dev/null   Mon Oct  2 06:05:12 2023
+++ pkgsrc/sysutils/recoll/PLIST        Mon Oct  2 06:05:12 2023
@@ -0,0 +1,191 @@
+@comment $NetBSD: PLIST,v 1.1 2023/10/02 06:05:12 wiz Exp $
+bin/recoll
+bin/recollindex
+bin/recollq
+${PYSITELIB}/Recoll-${PKGVERSION}-py${PYVERSSUFFIX}.egg-info/PKG-INFO
+${PYSITELIB}/Recoll-${PKGVERSION}-py${PYVERSSUFFIX}.egg-info/SOURCES.txt
+${PYSITELIB}/Recoll-${PKGVERSION}-py${PYVERSSUFFIX}.egg-info/dependency_links.txt
+${PYSITELIB}/Recoll-${PKGVERSION}-py${PYVERSSUFFIX}.egg-info/top_level.txt
+${PYSITELIB}/recoll/__init__.py
+${PYSITELIB}/recoll/__init__.pyc
+${PYSITELIB}/recoll/_recoll.so
+${PYSITELIB}/recoll/conftree.py
+${PYSITELIB}/recoll/conftree.pyc
+${PYSITELIB}/recoll/rclconfig.py
+${PYSITELIB}/recoll/rclconfig.pyc
+${PYSITELIB}/recoll/rclextract.py
+${PYSITELIB}/recoll/rclextract.pyc
+${PYSITELIB}/recoll/recoll.py
+${PYSITELIB}/recoll/recoll.pyc
+${PYSITELIB}/recoll_aspell_python_py3-1.15-py${PYVERSSUFFIX}.egg-info/PKG-INFO
+${PYSITELIB}/recoll_aspell_python_py3-1.15-py${PYVERSSUFFIX}.egg-info/SOURCES.txt
+${PYSITELIB}/recoll_aspell_python_py3-1.15-py${PYVERSSUFFIX}.egg-info/dependency_links.txt
+${PYSITELIB}/recoll_aspell_python_py3-1.15-py${PYVERSSUFFIX}.egg-info/top_level.txt
+${PYSITELIB}/recollaspell.so
+${PYSITELIB}/recollchm-0.8.4.1+git-py${PYVERSSUFFIX}.egg-info/PKG-INFO
+${PYSITELIB}/recollchm-0.8.4.1+git-py${PYVERSSUFFIX}.egg-info/SOURCES.txt
+${PYSITELIB}/recollchm-0.8.4.1+git-py${PYVERSSUFFIX}.egg-info/dependency_links.txt
+${PYSITELIB}/recollchm-0.8.4.1+git-py${PYVERSSUFFIX}.egg-info/top_level.txt
+${PYSITELIB}/recollchm/__init__.py
+${PYSITELIB}/recollchm/__init__.pyc
+${PYSITELIB}/recollchm/_chmlib.so
+${PYSITELIB}/recollchm/chm.py
+${PYSITELIB}/recollchm/chm.pyc
+${PYSITELIB}/recollchm/chmlib.py
+${PYSITELIB}/recollchm/chmlib.pyc
+${PYSITELIB}/recollchm/extra.so
+lib/recoll/librecoll.la
+man/man1/recoll.1
+man/man1/recollindex.1
+man/man1/recollq.1
+man/man5/recoll.conf.5
+share/applications/recoll-searchgui.desktop
+share/icons/hicolor/48x48/apps/recoll.png
+share/metainfo/recoll.appdata.xml
+share/pixmaps/recoll.png
+share/recoll/doc/docbook-xsl.css
+share/recoll/doc/usermanual.html
+share/recoll/examples/fields
+share/recoll/examples/fragment-buttons.xml
+share/recoll/examples/mimeconf
+share/recoll/examples/mimemap
+share/recoll/examples/mimeview
+share/recoll/examples/rclmon.sh
+share/recoll/examples/recoll-common.css
+share/recoll/examples/recoll-common.qss
+share/recoll/examples/recoll-dark.css
+share/recoll/examples/recoll-dark.qss
+share/recoll/examples/recoll.conf
+share/recoll/examples/recoll.qss
+share/recoll/examples/recollindex.desktop
+share/recoll/examples/recollindex.service
+share/recoll/examples/recollindex@.service
+share/recoll/filters/abiword.xsl
+share/recoll/filters/cmdtalk.py
+share/recoll/filters/conftree.py
+share/recoll/filters/fb2.xsl
+share/recoll/filters/gnumeric.xsl
+share/recoll/filters/hotrecoll.py
+share/recoll/filters/kosplitter.py
+share/recoll/filters/msodump.zip
+share/recoll/filters/okular-note.xsl
+share/recoll/filters/opendoc-body.xsl
+share/recoll/filters/opendoc-flat.xsl
+share/recoll/filters/opendoc-meta.xsl
+share/recoll/filters/openxml-meta.xsl
+share/recoll/filters/openxml-word-body.xsl
+share/recoll/filters/openxml-xls-body.xsl
+share/recoll/filters/ppt-dump.py
+share/recoll/filters/rcl7z.py
+share/recoll/filters/rclaptosidman
+share/recoll/filters/rclaspell-sugg.py
+share/recoll/filters/rclaudio.py
+share/recoll/filters/rclbasehandler.py
+share/recoll/filters/rclbibtex.sh
+share/recoll/filters/rclcheckneedretry.sh
+share/recoll/filters/rclchm.py
+share/recoll/filters/rclconfig.py
+share/recoll/filters/rcldia.py
+share/recoll/filters/rcldjvu.py
+share/recoll/filters/rcldoc.py
+share/recoll/filters/rcldvi
+share/recoll/filters/rclepub.py
+share/recoll/filters/rclepub1.py
+share/recoll/filters/rclexec1.py
+share/recoll/filters/rclexecm.py
+share/recoll/filters/rclfb2.py
+share/recoll/filters/rclgaim
+share/recoll/filters/rclgenxslt.py
+share/recoll/filters/rclhwp.py
+share/recoll/filters/rclics.py
+share/recoll/filters/rclimg
+share/recoll/filters/rclimg.py
+share/recoll/filters/rclinfo.py
+share/recoll/filters/rclipynb.py
+share/recoll/filters/rclkar.py
+share/recoll/filters/rclkwd
+share/recoll/filters/rcllatinclass.py
+share/recoll/filters/rcllatinstops.zip
+share/recoll/filters/rcllyx
+share/recoll/filters/rclman
+share/recoll/filters/rclmidi.py
+share/recoll/filters/rclocr.py
+share/recoll/filters/rclocrabbyy.py
+share/recoll/filters/rclocrcache.py
+share/recoll/filters/rclocrtesseract.py
+share/recoll/filters/rclopxml.py
+share/recoll/filters/rclorgmode.py
+share/recoll/filters/rclpdf.py
+share/recoll/filters/rclppt.py
+share/recoll/filters/rclps
+share/recoll/filters/rclpst.py
+share/recoll/filters/rclpurple
+share/recoll/filters/rclpython.py
+share/recoll/filters/rclrar.py
+share/recoll/filters/rclrtf.py
+share/recoll/filters/rclscribus
+share/recoll/filters/rclshowinfo
+share/recoll/filters/rcltar.py
+share/recoll/filters/rcltex
+share/recoll/filters/rcltext.py
+share/recoll/filters/rcluncomp
+share/recoll/filters/rcluncomp.py
+share/recoll/filters/rclwar.py
+share/recoll/filters/rclxls.py
+share/recoll/filters/rclxml.py
+share/recoll/filters/rclxmp.py
+share/recoll/filters/rclxslt.py
+share/recoll/filters/rclzip.py
+share/recoll/filters/recoll-we-move-files.py
+share/recoll/filters/recollepub.zip
+share/recoll/filters/svg.xsl
+share/recoll/filters/thunderbird-open-message.sh
+share/recoll/filters/xls-dump.py
+share/recoll/filters/xlsxmltocsv.py
+share/recoll/filters/xml.xsl
+share/recoll/images/aptosid-book.png
+share/recoll/images/aptosid-manual.png
+share/recoll/images/archive.png
+share/recoll/images/book.png
+share/recoll/images/bookchap.png
+share/recoll/images/document.png
+share/recoll/images/drawing.png
+share/recoll/images/emblem-symbolic-link.png
+share/recoll/images/folder.png
+share/recoll/images/html.png
+share/recoll/images/image.png
+share/recoll/images/message.png
+share/recoll/images/mozilla_doc.png
+share/recoll/images/pdf.png
+share/recoll/images/pidgin.png
+share/recoll/images/postscript.png
+share/recoll/images/presentation.png
+share/recoll/images/sidux-book.png
+share/recoll/images/soffice.png
+share/recoll/images/source.png
+share/recoll/images/sownd.png
+share/recoll/images/spreadsheet.png
+share/recoll/images/text-x-python.png
+share/recoll/images/txt.png
+share/recoll/images/video.png
+share/recoll/images/wordprocessing.png
+share/recoll/translations/recoll_cs.qm
+share/recoll/translations/recoll_da.qm
+share/recoll/translations/recoll_de.qm
+share/recoll/translations/recoll_el.qm
+share/recoll/translations/recoll_es.qm
+share/recoll/translations/recoll_fr.qm
+share/recoll/translations/recoll_hu.qm
+share/recoll/translations/recoll_it.qm
+share/recoll/translations/recoll_ja.qm
+share/recoll/translations/recoll_ko.qm
+share/recoll/translations/recoll_lt.qm
+share/recoll/translations/recoll_nl.qm
+share/recoll/translations/recoll_pl.qm
+share/recoll/translations/recoll_ru.qm
+share/recoll/translations/recoll_sv.qm
+share/recoll/translations/recoll_tr.qm
+share/recoll/translations/recoll_uk.qm
+share/recoll/translations/recoll_xx.qm
+share/recoll/translations/recoll_zh.qm
+share/recoll/translations/recoll_zh_CN.qm
Index: pkgsrc/sysutils/recoll/distinfo
diff -u /dev/null pkgsrc/sysutils/recoll/distinfo:1.1
--- /dev/null   Mon Oct  2 06:05:12 2023
+++ pkgsrc/sysutils/recoll/distinfo     Mon Oct  2 06:05:12 2023
@@ -0,0 +1,7 @@
+$NetBSD: distinfo,v 1.1 2023/10/02 06:05:12 wiz Exp $
+
+BLAKE2s (recoll-1.35.0.tar.gz) = ea04fb056b3b0d8d3f0cc1d64932f842268d19d246952d9947bf2516fc2395ae
+SHA512 (recoll-1.35.0.tar.gz) = 35dcbfb650251b00f2c7654dc7617bf24f7e480955121821c55e0d31c6ec4fa041f8f99e64afa12ad4ead725c366084d7d727dbdcee875b93bbc858a6229d236
+Size (recoll-1.35.0.tar.gz) = 3121862 bytes
+SHA1 (patch-qtgui_recoll.pro.in) = e13244b57a7eebfb8978b9848a570d8a01a6f915
+SHA1 (patch-utils_pxattr.cpp) = dd0b60ae48891b455c23190ed2d85d852b8a5700

Index: pkgsrc/sysutils/recoll/patches/patch-qtgui_recoll.pro.in
diff -u /dev/null pkgsrc/sysutils/recoll/patches/patch-qtgui_recoll.pro.in:1.1
--- /dev/null   Mon Oct  2 06:05:12 2023
+++ pkgsrc/sysutils/recoll/patches/patch-qtgui_recoll.pro.in    Mon Oct  2 06:05:12 2023
@@ -0,0 +1,16 @@
+$NetBSD: patch-qtgui_recoll.pro.in,v 1.1 2023/10/02 06:05:12 wiz Exp $
+
+ld: ../.libs/librecoll.a(mh_xslt.o): undefined reference to symbol 'xmlFreeDoc@@LIBXML2_2.4.30'
+ld: /usr/pkg/lib/libxml2.so.2: error adding symbols: DSO missing from command line
+
+--- qtgui/recoll.pro.in.orig   2023-05-12 08:19:26.000000000 +0000
++++ qtgui/recoll.pro.in
+@@ -417,7 +417,7 @@ VPATH = @srcdir@
+   LIBS += -Wl,-rpath=@libdir@/recoll
+ 
+   LIBS +=  @XAPIAN_LIBS@ \
+-       @LIBICONV@ $(BDYNAMIC) @LIBQZEITGEIST@ -lz
++       @LIBICONV@ $(BDYNAMIC) @LIBQZEITGEIST@ -lz -lxml2 -lxslt
+ 
+   INCLUDEPATH += ../common @srcdir@/../common @srcdir@/../index \
+               @srcdir@/../internfile @srcdir@/../query @srcdir@/../unac \
Index: pkgsrc/sysutils/recoll/patches/patch-utils_pxattr.cpp
diff -u /dev/null pkgsrc/sysutils/recoll/patches/patch-utils_pxattr.cpp:1.1
--- /dev/null   Mon Oct  2 06:05:12 2023
+++ pkgsrc/sysutils/recoll/patches/patch-utils_pxattr.cpp       Mon Oct  2 06:05:12 2023
@@ -0,0 +1,108 @@
+$NetBSD: patch-utils_pxattr.cpp,v 1.1 2023/10/02 06:05:12 wiz Exp $
+
+Fix build on NetBSD, from upstream.
+
+--- utils/pxattr.cpp.orig      2023-05-12 08:19:26.000000000 +0000
++++ utils/pxattr.cpp
+@@ -27,14 +27,6 @@
+     \brief Portable External Attributes API
+ */
+ 
+-// PXALINUX: platforms like kfreebsd which aren't linux but use the
+-// same xattr interface
+-#if defined(__linux__) ||                                               \
+-    (defined(__FreeBSD_kernel__)&&defined(__GLIBC__)&&!defined(__FreeBSD__)) || \
+-    defined(__CYGWIN__)
+-#define PXALINUX
+-#endif
+-
+ // If the platform is not known yet, let this file be empty instead of
+ // breaking the compile, this will let the build work if the rest of
+ // the software is not actually calling us. If it does call us, this
+@@ -44,6 +36,20 @@
+ // just let the methods return errors (like they would on a non-xattr
+ // fs on e.g. linux)
+ 
++
++// PXALINUX: platforms like kfreebsd which aren't linux but use the
++// same xattr interface
++#if defined(__linux__) ||                                               \
++    (defined(__FreeBSD_kernel__)&&defined(__GLIBC__)&&!defined(__FreeBSD__)) || \
++    defined(__CYGWIN__)
++#define PXALINUX
++#endif
++
++// FreeBSD and NetBSD use the same interface. Let's call this PXAFREEBSD
++#if defined(__FreeBSD__) || defined(__NetBSD__)
++#define PXAFREEBSD
++#endif // __FreeBSD__ or __NetBSD__
++
+ // Not exactly true for win32, but makes my life easier by avoiding ifdefs in recoll (the calls just
+ // fail, which is expected)
+ #if defined(__DragonFly__) || defined(__OpenBSD__) || defined(_WIN32)
+@@ -55,7 +61,7 @@
+ #endif
+ 
+ 
+-#if defined(__FreeBSD__) || defined(PXALINUX) || defined(__APPLE__) || defined(HAS_NO_XATTR)
++#if defined(PXAFREEBSD) || defined(PXALINUX) || defined(__APPLE__) || defined(HAS_NO_XATTR)
+ 
+ 
+ #ifndef TEST_PXATTR
+@@ -64,7 +70,7 @@
+ #include <stdlib.h>
+ #include <stdio.h>
+ 
+-#if defined(__FreeBSD__)
++#if defined(PXAFREEBSD)
+ #include <sys/extattr.h>
+ #include <sys/uio.h>
+ #elif defined(PXALINUX)
+@@ -112,7 +118,7 @@ get(int fd, const string& path, const st
+ 
+     ssize_t ret = -1;
+     AutoBuf buf;
+-#if defined(__FreeBSD__)
++#if defined(PXAFREEBSD)
+     if (fd < 0) {
+         if (flags & PXATTR_NOFOLLOW) {
+             ret = extattr_get_link(path.c_str(), EXTATTR_NAMESPACE_USER, 
+@@ -209,7 +215,7 @@ set(int fd, const string& path, const st
+ 
+     ssize_t ret = -1;
+ 
+-#if defined(__FreeBSD__)
++#if defined(PXAFREEBSD)
+     
+     if (flags & (PXATTR_CREATE|PXATTR_REPLACE)) {
+         // Need to test existence
+@@ -306,7 +312,7 @@ del(int fd, const string& path, const st
+ 
+     int ret = -1;
+ 
+-#if defined(__FreeBSD__)
++#if defined(PXAFREEBSD)
+     if (fd < 0) {
+         if (flags & PXATTR_NOFOLLOW) {
+             ret = extattr_delete_link(path.c_str(), EXTATTR_NAMESPACE_USER,
+@@ -353,7 +359,7 @@ list(int fd, const string& path, vector<
+     ssize_t ret = -1;
+     AutoBuf buf;
+ 
+-#if defined(__FreeBSD__)
++#if defined(PXAFREEBSD)
+     if (fd < 0) {
+         if (flags & PXATTR_NOFOLLOW) {
+             ret = extattr_list_link(path.c_str(), EXTATTR_NAMESPACE_USER, 0, 0);
+@@ -438,9 +444,9 @@ list(int fd, const string& path, vector<
+ 
+     char *bufstart = buf.buf;
+ 
+-    // All systems return a 0-separated string list except FreeBSD
++    // All systems return a 0-separated string list except FreeBSD/NetBSD
+     // which has length, value pairs, length is a byte. 
+-#if defined(__FreeBSD__)
++#if defined(PXAFREEBSD)
+     char *cp = buf.buf;
+     unsigned int len;
+     while (cp < buf.buf + ret + 1) {



Home | Main Index | Thread Index | Old Index