summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-apps/more')
-rw-r--r--sys-apps/more/Manifest1
-rw-r--r--sys-apps/more/files/more-2.12r-freebsd.patch65
-rw-r--r--sys-apps/more/metadata.xml7
-rw-r--r--sys-apps/more/more-2.12r.ebuild62
4 files changed, 135 insertions, 0 deletions
diff --git a/sys-apps/more/Manifest b/sys-apps/more/Manifest
new file mode 100644
index 000000000000..569b7a1eb5bb
--- /dev/null
+++ b/sys-apps/more/Manifest
@@ -0,0 +1 @@
+DIST util-linux-2.12r.tar.bz2 1370907 SHA256 b8e499b338ce9fbd1fb315194b26540ec823c0afc46c9e145ac7a3e38ad57e6b
diff --git a/sys-apps/more/files/more-2.12r-freebsd.patch b/sys-apps/more/files/more-2.12r-freebsd.patch
new file mode 100644
index 000000000000..09a1ac60f717
--- /dev/null
+++ b/sys-apps/more/files/more-2.12r-freebsd.patch
@@ -0,0 +1,65 @@
+diff -Nur util-linux-2.12r.orig/text-utils/Makefile util-linux-2.12r/text-utils/Makefile
+--- util-linux-2.12r.orig/text-utils/Makefile 2007-06-14 13:37:07 -0600
++++ util-linux-2.12r/text-utils/Makefile 2007-06-14 15:11:01 -0600
+@@ -30,13 +30,19 @@
+ CFLAGS:=$(CFLAGS) -DPGNOBELL
+ endif
+
++# On FreeBSD, we need to include libcompat (more uses re_comp & re_exec)
++OS=$(shell uname)
++ifeq "$(OS)" "FreeBSD"
++ LIBCOMPAT=-lcompat
++endif
++
+ all: $(BIN) $(USRBIN)
+
+ # more and pg and ul use curses - maybe we can't compile them
+ ifeq "$(HAVE_NCURSES)" "yes"
+ # Have ncurses - make more and pg and ul
+ more pg ul:
+- $(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@ $(LIBCURSES)
++ $(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@ $(LIBCURSES) $(LIBCOMPAT)
+ more: more.o $(LIB)/xstrncpy.o
+ pg: pg.o
+ ul: ul.o
+diff -Nur util-linux-2.12r.orig/text-utils/more.c util-linux-2.12r/text-utils/more.c
+--- util-linux-2.12r.orig/text-utils/more.c 2007-06-14 13:37:07 -0600
++++ util-linux-2.12r/text-utils/more.c 2007-06-14 13:28:34 -0600
+@@ -63,6 +63,16 @@
+ #include <regex.h>
+ #undef _REGEX_RE_COMP
+
++/* Include limits.h on FreeBSD */
++#ifdef __FreeBSD__
++#include <limits.h>
++#endif
++
++/* Define CBAUD for FreeBSD */
++#ifndef CBAUD
++#define CBAUD 0010017
++#endif
++
+ #define VI "vi" /* found on the user's path */
+
+ #define Fopen(s,m) (Currline = 0,file_pos=0,fopen(s,m))
+@@ -1560,7 +1570,7 @@
+ }
+ if (feof (file)) {
+ if (!no_intty) {
+-#ifndef __linux__
++#if !defined(__linux__) && !defined(__FreeBSD__)
+ /* No longer in libc 4.5.8. . . */
+ file->_flags &= ~STDIO_S_EOF_SEEN; /* why doesn't fseek do this ??!!??! */
+ #endif
+@@ -1805,7 +1815,11 @@
+ tcgetattr(fileno(stderr), &otty);
+ savetty0 = otty;
+ slow_tty = (otty.c_cflag & CBAUD) < B1200;
++#ifdef __FreeBSD__
++ hardtabs = 1;
++#else
+ hardtabs = (otty.c_oflag & TABDLY) != XTABS;
++#endif
+ if (!no_tty) {
+ otty.c_lflag &= ~(ICANON|ECHO);
+ otty.c_cc[VMIN] = 1;
diff --git a/sys-apps/more/metadata.xml b/sys-apps/more/metadata.xml
new file mode 100644
index 000000000000..d9cd2cad66c2
--- /dev/null
+++ b/sys-apps/more/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>
+<email>maintainer-needed@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/sys-apps/more/more-2.12r.ebuild b/sys-apps/more/more-2.12r.ebuild
new file mode 100644
index 000000000000..fb2699e53c73
--- /dev/null
+++ b/sys-apps/more/more-2.12r.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=2
+
+inherit eutils flag-o-matic
+
+DESCRIPTION="Primitive text file viewer"
+HOMEPAGE="http://www.kernel.org/pub/linux/utils/util-linux/"
+SRC_URI="mirror://kernel/linux/utils/util-linux/util-linux-${PV}.tar.bz2"
+S=${WORKDIR}/util-linux-${PV}
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64-fbsd ~x86-fbsd"
+IUSE="static nls selinux"
+
+RDEPEND="!static? ( >=sys-libs/ncurses-5.2-r2 )
+ selinux? ( sys-libs/libselinux )
+ !sys-apps/util-linux"
+DEPEND="${RDEPEND}
+ static? ( >=sys-libs/ncurses-5.2-r2[static-libs] )
+ nls? ( sys-devel/gettext )"
+
+yesno() { use $1 && echo yes || echo no; }
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-freebsd.patch
+
+ # Enable random features
+ local mconfigs="MCONFIG"
+ sed -i \
+ -e "/^HAVE_SELINUX=/s:no:$(yesno selinux):" \
+ -e "/^DISABLE_NLS=/s:no:$(yesno !nls):" \
+ -e "/^HAVE_KILL=/s:no:yes:" \
+ -e "/^HAVE_SLN=/s:no:yes:" \
+ -e "/^HAVE_TSORT/s:no:yes:" \
+ -e "s:-pipe -O2 \$(CPUOPT) -fomit-frame-pointer:${CFLAGS}:" \
+ -e "s:CPU=.*:CPU=${CHOST%%-*}:" \
+ -e "s:SUIDMODE=.*4755:SUIDMODE=4711:" \
+ ${mconfigs} || die "MCONFIG sed"
+}
+
+src_configure() {
+ use static && append-ldflags -static
+ export CC="$(tc-getCC)"
+
+ econf || die "configure failed"
+}
+
+src_compile() {
+ emake -C lib xstrncpy.o || die "emake xstrncpy.o failed"
+ emake -C text-utils more || die "emake more failed"
+}
+
+src_install() {
+ exeinto /bin
+ doexe text-utils/more || die
+ doman text-utils/more.1 || die
+ dodoc HISTORY MAINTAINER README VERSION
+}