summaryrefslogtreecommitdiff
path: root/app-text/dictd
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /app-text/dictd
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.xz
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'app-text/dictd')
-rw-r--r--app-text/dictd/Manifest1
-rw-r--r--app-text/dictd/dictd-1.12.1-r1.ebuild107
-rw-r--r--app-text/dictd/files/1.10.11/colorit.conf32
-rw-r--r--app-text/dictd/files/1.10.11/dict.conf6
-rw-r--r--app-text/dictd/files/1.10.11/dictd.conf26
-rw-r--r--app-text/dictd/files/1.10.11/dictd.confd5
-rw-r--r--app-text/dictd/files/1.10.11/dictd.initd78
-rw-r--r--app-text/dictd/files/1.10.11/site.info6
-rw-r--r--app-text/dictd/files/dictd-1.10.11-colorit-nopp-fix.patch13
-rw-r--r--app-text/dictd/files/dictd-1.12.0-build.patch22
-rw-r--r--app-text/dictd/files/dictd.service10
-rw-r--r--app-text/dictd/metadata.xml14
12 files changed, 320 insertions, 0 deletions
diff --git a/app-text/dictd/Manifest b/app-text/dictd/Manifest
new file mode 100644
index 00000000000..588f0243b58
--- /dev/null
+++ b/app-text/dictd/Manifest
@@ -0,0 +1 @@
+DIST dictd-1.12.1.tar.gz 423870 SHA256 a237f6ecdc854ab10de5145ed42eaa2d9b6d51ffdc495f7daee59b05cc363656 SHA512 51bceba36f9e34ffcbbf42a6235aab6097fe66ba8ed086ea60d0df8b7daf91c6449fdf7c5605150c77035d98029053233db106f9188786b30e02ecd61748209b WHIRLPOOL d9f92667c0cb66d893f4f4630cc2dae61dd54b5d96b01d312d83eebd34278ddb11b76c2fcaef40a0b6dcd608d5a542d14c6645c7769893879eb9c229e04c9648
diff --git a/app-text/dictd/dictd-1.12.1-r1.ebuild b/app-text/dictd/dictd-1.12.1-r1.ebuild
new file mode 100644
index 00000000000..2d570fcbf0c
--- /dev/null
+++ b/app-text/dictd/dictd-1.12.1-r1.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils readme.gentoo systemd user
+
+DESCRIPTION="Dictionary Client/Server for the DICT protocol"
+HOMEPAGE="http://www.dict.org/ http://sourceforge.net/projects/dict/"
+SRC_URI="mirror://sourceforge/dict/${P}.tar.gz"
+
+SLOT="0"
+# We install rfc so - ISOC-rfc
+LICENSE="GPL-2 ISOC-rfc"
+KEYWORDS="alpha amd64 ~arm ~hppa ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris"
+IUSE="dbi judy minimal"
+
+# <gawk-3.1.6 makes tests fail.
+RDEPEND="
+ sys-libs/zlib
+ dev-libs/libmaa
+ dbi? ( dev-db/libdbi )
+ judy? ( dev-libs/judy )
+ >=sys-apps/coreutils-6.10
+"
+DEPEND="${RDEPEND}
+ >=sys-apps/gawk-3.1.6
+ virtual/yacc
+"
+
+DOC_CONTENTS="
+ To start and use ${PN} you need to emerge at least one dictionary from
+ the app-dicts category with the package name starting with 'dictd-'.
+ To install all available dictionaries, emerge app-dicts/dictd-dicts.
+ ${PN} will NOT start without at least one dictionary.\n
+ \nIf you are running systemd, you will need to review the instructions
+ explained in /etc/dict/dictd.conf comments.
+"
+
+pkg_setup() {
+ enewgroup dictd # used in src_test()
+ enewuser dictd -1 -1 -1 dictd
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/dictd-1.10.11-colorit-nopp-fix.patch
+ epatch "${FILESDIR}"/dictd-1.12.0-build.patch
+
+ [[ ${CHOST} == *-darwin* ]] && \
+ sed -i -e 's:libtool:glibtool:g' Makefile.in
+}
+
+src_configure() {
+ econf \
+ $(use_with dbi plugin-dbi) \
+ $(use_with judy plugin-judy) \
+ --sysconfdir="${EPREFIX}"/etc/dict
+}
+
+src_compile() {
+ if use minimal; then
+ emake dictfmt dictzip dictzip
+ else
+ emake
+ fi
+}
+
+src_test() {
+ use minimal && return 0 # All tests are for dictd which we don't build...
+ if [[ ${EUID} -eq 0 ]]; then
+ # If dictd is run as root user (-userpriv) it drops its privileges to
+ # dictd user and group. Give dictd group write access to test directory.
+ chown :dictd "${WORKDIR}" "${S}/test"
+ chmod 770 "${WORKDIR}" "${S}/test"
+ fi
+ emake test
+}
+
+src_install() {
+ if use minimal; then
+ emake DESTDIR="${D}" install.dictzip install.dict install.dictfmt
+ else
+ emake DESTDIR="${D}" install
+
+ dodoc doc/{dicf.ms,rfc.ms,rfc.sh,rfc2229.txt}
+ dodoc doc/{security.doc,toc.ms}
+ newdoc examples/dictd1.conf dictd.conf.example
+
+ # conf files. For dict.conf see below.
+ insinto /etc/dict
+ for f in dictd.conf site.info colorit.conf; do
+ doins "${FILESDIR}/1.10.11/${f}"
+ done
+
+ # startups for dictd
+ newinitd "${FILESDIR}/1.10.11/dictd.initd" dictd
+ newconfd "${FILESDIR}/1.10.11/dictd.confd" dictd
+ systemd_dounit "${FILESDIR}"/${PN}.service
+ fi
+
+ insinto /etc/dict
+ doins "${FILESDIR}/1.10.11/dict.conf"
+ # Install docs
+ dodoc README TODO ChangeLog ANNOUNCE NEWS
+
+ readme.gentoo_create_doc
+}
diff --git a/app-text/dictd/files/1.10.11/colorit.conf b/app-text/dictd/files/1.10.11/colorit.conf
new file mode 100644
index 00000000000..22b00e9ec07
--- /dev/null
+++ b/app-text/dictd/files/1.10.11/colorit.conf
@@ -0,0 +1,32 @@
+dnl /etc/dictd/colorit.conf vim:ft=m4
+dnl
+dnl Sample configuration file for colorit(1) program
+dnl
+divert(-1)
+dnl
+dnl Define some useful color variables
+dnl
+define(`black', `0')
+define(`red', `1')
+define(`green', `2')
+define(`brown', `3')
+define(`blue', `4')
+define(`magenta', `5')
+define(`cyan', `6')
+define(`white', `7')
+dnl
+dnl Mark macro arguments: regexp foreground-color [background-color]
+dnl
+define(`mark', ``mark "$1"'' `ifelse(`$#', `3', ``"\033[3$2;4$3m"'', ``"\033[3$2m"'')' `"\033[m"')
+dnl
+divert
+mark(`^From.*$',red,cyan)
+mark(`^ [^ ]+',green)
+mark(`^ *Note:',red)
+mark(`{[^{]+}',green)
+mark(`^ *\[[^\[]+\]', cyan)
+mark(`^[ ]*(adj|n|v|adv)? *[0-9]+[\.:]',cyan)
+mark(`^ *\([a-z]+\)',cyan)
+mark(`(Syn|Ant|syn|ant):', blue, white)
+mark(` (t|i|a|adj|adv|n|v)\. ',cyan)
+mark(` (t|i|a|adj|adv|n|v)\.$',cyan)
diff --git a/app-text/dictd/files/1.10.11/dict.conf b/app-text/dictd/files/1.10.11/dict.conf
new file mode 100644
index 00000000000..e06c3d296ec
--- /dev/null
+++ b/app-text/dictd/files/1.10.11/dict.conf
@@ -0,0 +1,6 @@
+# This is the configuration file for dict.
+# Usually all you will ever need here is the server keywords.
+# Refer to the dict manpage for other options.
+# It will only check the second server if the first fails
+server localhost
+server dict.org
diff --git a/app-text/dictd/files/1.10.11/dictd.conf b/app-text/dictd/files/1.10.11/dictd.conf
new file mode 100644
index 00000000000..0de4c201773
--- /dev/null
+++ b/app-text/dictd/files/1.10.11/dictd.conf
@@ -0,0 +1,26 @@
+# dictd configuration file
+
+global {
+ # Informational message
+ site site.info
+}
+
+# who's allowed. You might want to change this.
+access {
+ allow *
+}
+
+# Dictionaries are listed below. During dictd startup the OpenRC init script will
+# scan ${DLIBDIR} (see /etc/conf.d/dictd) and adds all of the dictionaries it
+# finds here.
+#
+# On the other hand, if you are running systemd, you will need to look at
+# /usr/share/doc/dictd-${PV}/dictd.conf.example as reference to know the format
+# of the lines you will need to manually add below.
+#
+# NOTE: OpenRC init script will wipe everything below #LASTLINE and replace it with
+# what it finds. So add all of your things above. If this is a problem, report
+# bug at https://bugs.gentoo.org, please.
+#
+# Do not remove next line!
+#LASTLINE
diff --git a/app-text/dictd/files/1.10.11/dictd.confd b/app-text/dictd/files/1.10.11/dictd.confd
new file mode 100644
index 00000000000..06eb94973bf
--- /dev/null
+++ b/app-text/dictd/files/1.10.11/dictd.confd
@@ -0,0 +1,5 @@
+# If you have problems starting dictd in a UTF-8 locale, add an appropriate
+# --locale switch to DICTD_OPTS, e. g. "--locale=en_US.utf8"
+DICTD_OPTS="-s "
+DICTDCONF=/etc/dict/dictd.conf
+DLIBDIR=/usr/lib/dict
diff --git a/app-text/dictd/files/1.10.11/dictd.initd b/app-text/dictd/files/1.10.11/dictd.initd
new file mode 100644
index 00000000000..07b77fdcf1f
--- /dev/null
+++ b/app-text/dictd/files/1.10.11/dictd.initd
@@ -0,0 +1,78 @@
+#!/sbin/runscript
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+DICTD_PID="/var/run/dictd.pid"
+
+prepconfig() {
+ local TMPCONF INDEXFILES CNT DNAME DICT SAVEDIR
+ if [ ! -e "${DICTDCONF}" ]; then
+ eerror "Config file ${DICTDCONF} not found."
+ return 1
+ fi
+
+ # if no dictionaries, skip startup.
+ # The new way of doing this is to scan /usr/lib/dict and tweek the conf
+ einfo "Scanning for dictionaries..."
+ if [ ! -d "${DLIBDIR}" ]; then
+ eerror "${DLIBDIR} doesn't exist, no dictionaries found."
+ return 1
+ fi
+
+ SAVEDIR=${PWD}
+ cd "${DLIBDIR}"
+ INDEXFILES=$(ls *.index)
+ if [ -z "${INDEXFILES}" ]; then
+ eerror "No dictionaries found at ${DLIBDIR}."
+ eerror "Please, emerge at least one of app-dicts/dictd-* dictionaries."
+ return 1
+ fi
+
+ TMPCONF=$(mktemp -t dictd.conf.XXXXXXXXXX)
+ cat ${DICTDCONF} | sed -e '/^#LASTLINE/,$d' > ${TMPCONF}
+ echo "#LASTLINE" >> ${TMPCONF}
+
+ CNT=0
+ for i in ${INDEXFILES}; do
+ DNAME=$(echo $i | sed -e 's/[.]index$//')
+ #two possible names for a matching dictionary, check which is there.
+ if [ -f ${DNAME}.dict.dz ]; then
+ DICT=${DNAME}.dict.dz
+ elif [ -f ${DNAME}.dict ];then
+ DICT=${DNAME}.dict
+ else
+ ewarn "Index $i has no matching dictionaray..."
+ fi
+
+ #ok, go an index, and a dixtionary, append.
+ echo "database ${DNAME} { data \"${DLIBDIR}/${DICT}\"" >> ${TMPCONF}
+ echo " index \"${DLIBDIR}/$i\" }" >> ${TMPCONF}
+
+ CNT=$(expr ${CNT} + 1)
+ done
+
+ cd "${SAVEDIR}"
+ mv "${TMPCONF}" "${DICTDCONF}"
+ chown 0:dictd "${DICTDCONF}"
+ chmod g+r "${DICTDCONF}"
+ einfo "Done, ${CNT} dictionaries found."
+}
+
+depend() {
+ need localmount
+}
+
+start() {
+ prepconfig || return 1
+ ebegin "Starting dictd"
+ start-stop-daemon --start --quiet --pidfile ${DICTD_PID} --exec \
+ /usr/sbin/dictd -- --pid-file ${DICTD_PID} ${DICTD_OPTS}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping dictd"
+ start-stop-daemon --stop --quiet --pidfile ${DICTD_PID} --exec /usr/sbin/dictd
+ eend $?
+}
diff --git a/app-text/dictd/files/1.10.11/site.info b/app-text/dictd/files/1.10.11/site.info
new file mode 100644
index 00000000000..23bfdeb6110
--- /dev/null
+++ b/app-text/dictd/files/1.10.11/site.info
@@ -0,0 +1,6 @@
+Welcome to your dictionary server dictd!
+
+This is an example site information file. It should contain information
+about any restricted databases and how users can obtain access. If may
+also contain other random data as you see fit.
+
diff --git a/app-text/dictd/files/dictd-1.10.11-colorit-nopp-fix.patch b/app-text/dictd/files/dictd-1.10.11-colorit-nopp-fix.patch
new file mode 100644
index 00000000000..4643a10d2de
--- /dev/null
+++ b/app-text/dictd/files/dictd-1.10.11-colorit-nopp-fix.patch
@@ -0,0 +1,13 @@
+=== modified file 'colorit.in'
+--- colorit.in 2009-03-02 08:52:14 +0000
++++ colorit.in 2009-03-02 08:52:48 +0000
+@@ -167,7 +167,7 @@
+
+ function process_config (){
+ if (pp == ""){
+- while (0 < (ret = (pipe | getline))){
++ while (0 < (ret = (getline < config_file))){
+ process_config_line()
+ }
+ }else{
+
diff --git a/app-text/dictd/files/dictd-1.12.0-build.patch b/app-text/dictd/files/dictd-1.12.0-build.patch
new file mode 100644
index 00000000000..d192f8ccb96
--- /dev/null
+++ b/app-text/dictd/files/dictd-1.12.0-build.patch
@@ -0,0 +1,22 @@
+don't force -static so we get both pic and non-pic objects
+
+https://bugs.gentoo.org/342669
+
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -117,12 +117,12 @@
+ @SET_MAKE@
+
+ %.o: %.c
+- $(LIBTOOL) --tag=CC --mode=compile $(CC) -c $(CFLAGS) $< -o $@
++ $(LIBTOOL) --tag=CC --mode=compile $(CC) -c $(CFLAGS) $< -o $@ -static
+ %.o: %.cpp
+- $(LIBTOOL) --tag=CXX --mode=compile $(CXX) -c $(CFLAGS) $< -o $@
++ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) -c $(CFLAGS) $< -o $@ -static
+
+ %: %.o
+- $(LIBTOOL) --tag=CC --mode=link $(CC) -o $@ -static \
++ $(LIBTOOL) --tag=CC --mode=link $(CC) -o $@ \
+ $^ $(OBJS) $(LDFLAGS) -lz ${LIBS}
+
+ include $(srcdir)/deps
diff --git a/app-text/dictd/files/dictd.service b/app-text/dictd/files/dictd.service
new file mode 100644
index 00000000000..f5efde6c6f1
--- /dev/null
+++ b/app-text/dictd/files/dictd.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Dictd Dictionary Server Daemon
+After=network.target
+
+[Service]
+Type=forking
+ExecStart=/usr/sbin/dictd --listen-to 127.0.0.1
+
+[Install]
+WantedBy=multi-user.target
diff --git a/app-text/dictd/metadata.xml b/app-text/dictd/metadata.xml
new file mode 100644
index 00000000000..3884dbff3e5
--- /dev/null
+++ b/app-text/dictd/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+ <use>
+ <flag name="judy">Build Judy-based (<pkg>dev-libs/judy</pkg>) plugin implementing fast "exact" and especially "lev" strategies</flag>
+ <flag name="minimal">Don't build server but dict client, dictzip and dictfmt only.</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">dict</remote-id>
+ </upstream>
+</pkgmetadata>