summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas K. Hüttel <dilfridge@gentoo.org>2020-05-11 22:41:03 +0300
committerAndreas K. Hüttel <dilfridge@gentoo.org>2020-05-11 22:41:03 +0300
commitf13bc403d5e844097d62d8bb3253824826aee4c4 (patch)
tree2b86c6438a4ff72956b33530f0fdd1bb6f5263c5
parentsci-visualization/qtiplot-bin: Attempt to use 64bit version (diff)
downloaddilfridge-f13bc403d5e844097d62d8bb3253824826aee4c4.tar.gz
dilfridge-f13bc403d5e844097d62d8bb3253824826aee4c4.tar.bz2
dilfridge-f13bc403d5e844097d62d8bb3253824826aee4c4.zip
dev-db/sqlite: Add ancient version for qtiplot-bin...
Package-Manager: Portage-2.3.99, Repoman-2.3.22 Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
-rw-r--r--dev-db/sqlite/Manifest1
-rw-r--r--dev-db/sqlite/files/maketcllib.sh40
-rw-r--r--dev-db/sqlite/files/sqlite-2.8.15-alignement-fix.patch12
-rw-r--r--dev-db/sqlite/files/sqlite-2.8.16-exit.patch12
-rw-r--r--dev-db/sqlite/files/sqlite-2.8.16-multilib.patch108
-rw-r--r--dev-db/sqlite/metadata.xml7
-rw-r--r--dev-db/sqlite/sqlite-2.8.16-r5.ebuild127
7 files changed, 307 insertions, 0 deletions
diff --git a/dev-db/sqlite/Manifest b/dev-db/sqlite/Manifest
new file mode 100644
index 0000000..433784e
--- /dev/null
+++ b/dev-db/sqlite/Manifest
@@ -0,0 +1 @@
+DIST sqlite-2.8.16.tar.gz 981834 BLAKE2B f44c836843a7fcfa07d38c5a49beb389b71a8c0a5593dfbb07c44408785bdee18e3fe8aff15a8db813d19029d0e7570ca5a8f3eb1c24c5c993404e8d182717e4 SHA512 262cacbb9a6e615cd6ce7c2992c4dd5b0cd59de096daa74925e81baef4c0e4b3d9a7e4ebf8f4ba949afac4fe2fbf2c627ead29fa72ff38dffe6446ae46c40d4a
diff --git a/dev-db/sqlite/files/maketcllib.sh b/dev-db/sqlite/files/maketcllib.sh
new file mode 100644
index 0000000..ad87ce1
--- /dev/null
+++ b/dev-db/sqlite/files/maketcllib.sh
@@ -0,0 +1,40 @@
+#!/bin/bash
+#
+# This script was adapted from the one used by Hwaci to build it's
+# documentation and binaries for shipping to their website.
+#
+# Any similarity to the original has probably been trampled into
+# oblivion modifying everything for Gentoo.
+#
+echo "Starting TCL Build"
+
+# Set srcdir to the name of the directory that contains the publish.sh
+# script.
+#
+srcdir=`echo "$0" | sed 's%\(^.*\)/[^/][^/]*$%\1%'`
+
+#
+# Build the tclsqlite.so shared library for import into tclsh or wish
+# under Linux
+#
+make target_source
+source /etc/make.conf
+cd tsrc
+rm shell.c
+
+OPTS='-DUSE_TCL_STUBS=1 -DNDEBUG=1'
+TCLSTUBLIB=${TCL_BUILD_STUB_LIB_PATH}
+
+export CFLAGS
+gcc -fPIC $CFLAGS $OPTS -I. -shared *.c $TCLSTUBLIB -o tclsqlite.so
+
+strip tclsqlite.so
+cp tclsqlite.so ..
+
+cd ..
+
+echo "pkg_mkIndex [pwd] tclsqlite.so" >> make_pkgIndex.tcl
+tclsh make_pkgIndex.tcl
+
+echo "Done TCL Build"
+
diff --git a/dev-db/sqlite/files/sqlite-2.8.15-alignement-fix.patch b/dev-db/sqlite/files/sqlite-2.8.15-alignement-fix.patch
new file mode 100644
index 0000000..7081ffd
--- /dev/null
+++ b/dev-db/sqlite/files/sqlite-2.8.15-alignement-fix.patch
@@ -0,0 +1,12 @@
+diff -uNr sqlite.orig/src/vdbeInt.h sqlite/src/vdbeInt.h
+--- sqlite.orig/src/vdbeInt.h 2004-10-16 01:33:02.779442000 +0200
++++ sqlite/src/vdbeInt.h 2004-10-16 01:35:01.139442000 +0200
+@@ -115,7 +115,7 @@
+ int flags; /* Some combination of MEM_Null, MEM_Str, MEM_Dyn, etc. */
+ double r; /* Real value */
+ char *z; /* String value */
+- char zShort[NBFS]; /* Space for short strings */
++ char zShort[NBFS] __attribute__ ((__aligned__(16))); /* Space for short strings */
+ };
+ typedef struct Mem Mem;
+
diff --git a/dev-db/sqlite/files/sqlite-2.8.16-exit.patch b/dev-db/sqlite/files/sqlite-2.8.16-exit.patch
new file mode 100644
index 0000000..aaccb57
--- /dev/null
+++ b/dev-db/sqlite/files/sqlite-2.8.16-exit.patch
@@ -0,0 +1,12 @@
+temp.c:4:1: warning: incompatible implicit declaration of built-in function ‘exit’
+
+--- Makefile.in
++++ Makefile.in
+@@ -269,6 +269,7 @@
+ #
+ config.h:
+ echo '#include <stdio.h>' >temp.c
++ echo '#include <stdlib.h>' >>temp.c
+ echo 'int main(){printf(' >>temp.c
+ echo '"#define SQLITE_PTR_SZ %d",sizeof(char*));' >>temp.c
+ echo 'exit(0);}' >>temp.c
diff --git a/dev-db/sqlite/files/sqlite-2.8.16-multilib.patch b/dev-db/sqlite/files/sqlite-2.8.16-multilib.patch
new file mode 100644
index 0000000..3211187
--- /dev/null
+++ b/dev-db/sqlite/files/sqlite-2.8.16-multilib.patch
@@ -0,0 +1,108 @@
+diff -Naurp sqlite-2.8.16.orig/Makefile.in sqlite-2.8.16/Makefile.in
+--- sqlite-2.8.16.orig/Makefile.in 2005-02-14 00:22:04.000000000 +0000
++++ sqlite-2.8.16/Makefile.in 2005-02-17 18:22:50.174537727 +0000
+@@ -187,12 +187,12 @@ last_change: $(SRC)
+ | awk '{print $$5,$$6}' >last_change
+
+ libsqlite.la: $(LIBOBJ)
+- $(LTLINK) -o libsqlite.la $(LIBOBJ) ${RELEASE} -rpath @exec_prefix@/lib \
++ $(LTLINK) -o libsqlite.la $(LIBOBJ) ${RELEASE} -rpath @libdir@ \
+ -version-info "8:6:8"
+
+ libtclsqlite.la: tclsqlite.lo libsqlite.la
+ $(LTLINK) -o libtclsqlite.la tclsqlite.lo \
+- libsqlite.la $(LIBTCL) -rpath @exec_prefix@/lib/sqlite \
++ libsqlite.la $(LIBTCL) -rpath @libdir@/sqlite \
+ -version-info "8:6:8"
+
+ sqlite@TARGET_EXEEXT@: $(TOP)/src/shell.c libsqlite.la sqlite.h
+@@ -465,14 +465,14 @@ doc: $(DOC)
+ mv $(DOC) doc
+
+ install: sqlite libsqlite.la sqlite.h
+- $(INSTALL) -d $(DESTDIR)$(exec_prefix)/lib
+- $(LTINSTALL) libsqlite.la $(DESTDIR)$(exec_prefix)/lib
++ $(INSTALL) -d $(DESTDIR)@libdir@
++ $(LTINSTALL) libsqlite.la $(DESTDIR)@libdir@
+ $(INSTALL) -d $(DESTDIR)$(exec_prefix)/bin
+ $(LTINSTALL) sqlite $(DESTDIR)$(exec_prefix)/bin
+ $(INSTALL) -d $(DESTDIR)$(prefix)/include
+ $(INSTALL) -m 0644 sqlite.h $(DESTDIR)$(prefix)/include
+- $(INSTALL) -d $(DESTDIR)$(exec_prefix)/lib/pkgconfig;
+- $(INSTALL) -m 0644 sqlite.pc $(DESTDIR)$(exec_prefix)/lib/pkgconfig;
++ $(INSTALL) -d $(DESTDIR)@libdir@/pkgconfig;
++ $(INSTALL) -m 0644 sqlite.pc $(DESTDIR)@libdir@/pkgconfig;
+
+ clean:
+ rm -f *.lo *.la *.o sqlite@TARGET_EXEEXT@ libsqlite.la sqlite.h opcodes.*
+diff -Naurp sqlite-2.8.16.orig/Makefile.linux-gcc sqlite-2.8.16/Makefile.linux-gcc
+--- sqlite-2.8.16.orig/Makefile.linux-gcc 2005-02-14 00:22:04.000000000 +0000
++++ sqlite-2.8.16/Makefile.linux-gcc 2005-02-17 18:21:47.654969648 +0000
+@@ -14,7 +14,7 @@
+ #### The toplevel directory of the source tree. This is the directory
+ # that contains this "Makefile.in" and the "configure.in" script.
+ #
+-TOP = ../sqlite
++TOP = @@S@@
+
+ #### C Compiler and options for use in building executables that
+ # will run on the platform that is doing the build.
+@@ -38,8 +38,8 @@ THREADSAFE = -DTHREADSAFE=0
+ #### Specify any extra linker options needed to make the library
+ # thread safe
+ #
+-#THREADLIB = -lpthread
+-THREADLIB =
++THREADLIB = -lpthread
++#THREADLIB =
+
+ #### Leave MEMORY_DEBUG undefined for maximum speed. Use MEMORY_DEBUG=1
+ # to check for memory leaks. Use MEMORY_DEBUG=2 to print a log of all
+@@ -64,7 +64,7 @@ EXE =
+ # will run on the target platform. This is usually the same
+ # as BCC, unless you are cross-compiling.
+ #
+-TCC = gcc -O6
++TCC = @@CC@@ @@CFLAGS@@
+ #TCC = gcc -g -O0 -Wall
+ #TCC = gcc -g -O0 -Wall -fprofile-arcs -ftest-coverage
+ #TCC = /opt/mingw/bin/i386-mingw32-gcc -O6
+@@ -72,23 +72,23 @@ TCC = gcc -O6
+
+ #### Tools used to build a static library.
+ #
+-AR = ar cr
++AR = @@AR@@ cr
+ #AR = /opt/mingw/bin/i386-mingw32-ar cr
+-RANLIB = ranlib
++RANLIB = @@RANLIB@@
+ #RANLIB = /opt/mingw/bin/i386-mingw32-ranlib
+
+ #### Extra compiler options needed for programs that use the TCL library.
+ #
+-#TCL_FLAGS =
++#TCL_FLAGS = @@TCL_FLAGS@@
+ #TCL_FLAGS = -DSTATIC_BUILD=1
+-TCL_FLAGS = -I/home/drh/tcltk/8.4linux
++#TCL_FLAGS = -I/home/drh/tcltk/8.4linux
+ #TCL_FLAGS = -I/home/drh/tcltk/8.4win -DSTATIC_BUILD=1
+ #TCL_FLAGS = -I/home/drh/tcltk/8.3hpux
+
+ #### Linker options needed to link against the TCL library.
+ #
+-#LIBTCL = -ltcl -lm -ldl
+-LIBTCL = /home/drh/tcltk/8.4linux/libtcl8.4g.a -lm -ldl
++LIBTCL = -ltcl -lm -ldl
++#LIBTCL = /home/drh/tcltk/8.4linux/libtcl8.4g.a -lm -ldl
+ #LIBTCL = /home/drh/tcltk/8.4win/libtcl84s.a -lmsvcrt
+ #LIBTCL = /home/drh/tcltk/8.3hpux/libtcl8.3.a -ldld -lm -lc
+
+@@ -100,7 +100,7 @@ READLINE_FLAGS = -DHAVE_READLINE=1 -I/us
+ #### Linker options needed by programs using readline() must link against.
+ #
+ #LIBREADLINE =
+-LIBREADLINE = -static -lreadline -ltermcap
++LIBREADLINE = -static -lreadline -lncurses
+
+ #### Should the database engine assume text is coded as UTF-8 or iso8859?
+ #
diff --git a/dev-db/sqlite/metadata.xml b/dev-db/sqlite/metadata.xml
new file mode 100644
index 0000000..713432f
--- /dev/null
+++ b/dev-db/sqlite/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>dilfridge@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-db/sqlite/sqlite-2.8.16-r5.ebuild b/dev-db/sqlite/sqlite-2.8.16-r5.ebuild
new file mode 100644
index 0000000..76248c1
--- /dev/null
+++ b/dev-db/sqlite/sqlite-2.8.16-r5.ebuild
@@ -0,0 +1,127 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils alternatives multilib toolchain-funcs
+
+KEYWORDS="~amd64"
+
+DESCRIPTION="SQLite: an SQL Database Engine in a C Library"
+HOMEPAGE="http://www.sqlite.org/"
+SRC_URI="http://www.sqlite.org/${P}.tar.gz"
+
+LICENSE="public-domain"
+SLOT="0"
+IUSE="doc nls tcl"
+
+DEPEND="doc? ( dev-lang/tcl )
+ tcl? ( dev-lang/tcl )"
+
+RDEPEND="tcl? ( dev-lang/tcl )"
+
+SOURCE="/usr/bin/lemon"
+ALTERNATIVES="${SOURCE}-3 ${SOURCE}-0"
+
+RESTRICT="!tcl? ( test )"
+
+src_unpack() {
+ # test
+ if has test ${FEATURES}; then
+ if ! has userpriv ${FEATURES}; then
+ ewarn "The userpriv feature must be enabled to run tests."
+ eerror "Testsuite will not be run."
+ fi
+ if ! use tcl; then
+ ewarn "You must enable the tcl use flag if you want to run the test"
+ ewarn "suite."
+ eerror "Testsuite will not be run."
+ fi
+ fi
+
+ unpack ${A}
+ cd "${S}"
+
+ use hppa && epatch "${FILESDIR}"/${PN}-2.8.15-alignement-fix.patch
+
+ epatch \
+ "${FILESDIR}"/${P}-multilib.patch \
+ "${FILESDIR}"/${P}-exit.patch
+
+ epunt_cxx
+
+ if use nls ; then
+ ENCODING=${ENCODING-"UTF8"}
+ else
+ ENCODING="ISO8859"
+ fi
+
+ sed -i -e "s:@@S@@:${S}:g" \
+ -e "s:@@CC@@:$(tc-getCC):g" \
+ -e "s:@@CFLAGS@@:${CFLAGS}:g" \
+ -e "s:@@AR@@:$(tc-getAR):g" \
+ -e "s:@@RANLIB@@:$(tc-getRANLIB):g" \
+ -e "s:@@ENCODING@@:${ENCODING}:g" \
+ "${S}"/Makefile.linux-gcc
+
+ sed -i \
+ -e '/^LTLINK/s:$(TCC):& $(LDFLAGS):' \
+ -e '/lemon/s:-o:$(LDFLAGS) &:' \
+ "${S}"/{main.mk,Makefile.in}
+}
+
+src_compile() {
+ local myconf="--enable-incore-db --enable-tempdb-in-ram"
+
+ if ! use tcl ; then
+ myconf="${myconf} --without-tcl"
+ fi
+
+ econf ${myconf} \
+ --disable-static \
+ $(use_enable nls utf8)
+
+ emake all || die "emake all failed"
+
+ if use doc ; then
+ emake doc || die "emake doc failed"
+ fi
+
+ if use tcl ; then
+ cp -P "${FILESDIR}"/maketcllib.sh "${S}"
+ chmod +x ./maketcllib.sh
+ ./maketcllib.sh
+ fi
+}
+
+src_test() {
+ if use tcl ; then
+ if has userpriv ${FEATURES} ; then
+ elog "SQLite 2.x is known to have problems on 64 bit architectures."
+ elog "If you observe segmentation faults please use 3.x instead!"
+
+ cd "${S}"
+ emake test || die "some test failed"
+ fi
+ fi
+}
+
+src_install () {
+ dodir /usr/{bin,include,$(get_libdir)}
+
+ make DESTDIR="${D}" install || die "make install failed"
+
+ find "${D}" -name '*.la' -exec rm -f {} +
+
+ newbin lemon lemon-${SLOT}
+
+ dodoc README VERSION
+ doman sqlite.1
+
+ use doc && dohtml doc/*.html doc/*.txt doc/*.png
+
+ if use tcl ; then
+ mkdir "${D}"/usr/$(get_libdir)/tclsqlite${PV}
+ cp "${S}"/tclsqlite.so "${D}"/usr/$(get_libdir)/tclsqlite${PV}/
+ cp "${S}"/pkgIndex.tcl "${D}"/usr/$(get_libdir)/tclsqlite${PV}/
+ fi
+}