summaryrefslogtreecommitdiff
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 /sys-process/numactl
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
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 'sys-process/numactl')
-rw-r--r--sys-process/numactl/Manifest2
-rw-r--r--sys-process/numactl/files/numactl-2.0.10-numademo-cflags.patch15
-rw-r--r--sys-process/numactl/files/numactl-2.0.8-cpuid-pic.patch17
-rw-r--r--sys-process/numactl/files/numactl-2.0.8-static_libs.patch86
-rw-r--r--sys-process/numactl/files/numactl-2.0.9-testsuite_fix.patch12
-rw-r--r--sys-process/numactl/files/numactl-2.0.9-testsuite_path.patch14
-rw-r--r--sys-process/numactl/metadata.xml5
-rw-r--r--sys-process/numactl/numactl-2.0.10-r1.ebuild49
-rw-r--r--sys-process/numactl/numactl-2.0.10-r2.ebuild50
-rw-r--r--sys-process/numactl/numactl-2.0.10.ebuild39
-rw-r--r--sys-process/numactl/numactl-2.0.9.ebuild56
11 files changed, 345 insertions, 0 deletions
diff --git a/sys-process/numactl/Manifest b/sys-process/numactl/Manifest
new file mode 100644
index 000000000000..31ce1c7719c2
--- /dev/null
+++ b/sys-process/numactl/Manifest
@@ -0,0 +1,2 @@
+DIST numactl-2.0.10.tar.gz 98999 SHA256 9d197fefac81c73dc2b2e554f1758b2ec56d4e9b2f04a7f45dff5d6cb14fb9ce SHA512 3a82b28bbc724a2340950ac33396055da852ee06e5b1d3414cd83dd6f9e26fbb648faae35ce4009c76d6a180f3067a8f3fb18e3ffaa6b6db68adfc0877e94975 WHIRLPOOL 59a172c14d96b01b1e13d2913f6f820d4f9bacb2f80e2920d4350273ff01ab57d56ab4a163fde2df3898c4b7cf204bd4a333c99f9feb9d5bcd89fea799a3d2db
+DIST numactl-2.0.9.tar.gz 341455 SHA256 9ca033e6c14c0f26c20379b0cf9299429fd5a354a79c3c7880fd41ef69f7751c SHA512 483cbb1607da0f3bf0923202ea565100ea430b19502bdbd322f043f75dc945cc0f47878c0ed28badab23561c37da0b04aa12d07656bb4666c4f8d02a0d256407 WHIRLPOOL 5aba5b4a6ab0a4f06a2266054fdc7be8ca81696cf417e4fa4d10667ab95195edc5e002551a3bda4ea1eb25caf01d171ed18a16e4c29960902546aa78d7b93d73
diff --git a/sys-process/numactl/files/numactl-2.0.10-numademo-cflags.patch b/sys-process/numactl/files/numactl-2.0.10-numademo-cflags.patch
new file mode 100644
index 000000000000..9b318df5a5ca
--- /dev/null
+++ b/sys-process/numactl/files/numactl-2.0.10-numademo-cflags.patch
@@ -0,0 +1,15 @@
+https://bugs.gentoo.org/540856
+
+respect user CFLAGS
+
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -23,7 +23,7 @@ numastat_CFLAGS = $(AM_CFLAGS) -std=gnu99
+
+ numademo_SOURCES = numademo.c stream_lib.c stream_lib.h mt.c mt.h clearcache.c clearcache.h
+ numademo_CPPFLAGS = $(AM_CPPFLAGS) -DHAVE_STREAM_LIB -DHAVE_MT -DHAVE_CLEAR_CACHE
+-numademo_CFLAGS = -O3 -ffast-math -funroll-loops
++numademo_CFLAGS = $(AM_CFLAGS) -ffast-math -funroll-loops
+ if HAVE_TREE_VECTORIZE
+ numademo_CFLAGS += -ftree-vectorize
+ endif
diff --git a/sys-process/numactl/files/numactl-2.0.8-cpuid-pic.patch b/sys-process/numactl/files/numactl-2.0.8-cpuid-pic.patch
new file mode 100644
index 000000000000..02e84b725772
--- /dev/null
+++ b/sys-process/numactl/files/numactl-2.0.8-cpuid-pic.patch
@@ -0,0 +1,17 @@
+make the code work on x86/PIC. this code is only used in the demo,
+and the overhead of always running this is system noise, so don't
+bother bracketing with __i386__/__PIC__ defines.
+
+http://bugs.gentoo.org/456238
+
+--- a/clearcache.c
++++ b/clearcache.c
+@@ -57,7 +57,7 @@ void clearcache(unsigned char *mem, unsigned size)
+ #if defined(__i386__) || defined(__x86_64__)
+ unsigned i, cl, eax, feat;
+ /* get clflush unit and feature */
+- asm("cpuid" : "=a" (eax), "=b" (cl), "=d" (feat) : "0" (1) : "cx");
++ asm("xchg %%ebx, %%esi; cpuid; xchg %%esi, %%ebx;" : "=a" (eax), "=S" (cl), "=d" (feat) : "0" (1) : "cx");
+ if (!(feat & (1 << 19)))
+ fallback_clearcache();
+ cl = ((cl >> 8) & 0xff) * 8;
diff --git a/sys-process/numactl/files/numactl-2.0.8-static_libs.patch b/sys-process/numactl/files/numactl-2.0.8-static_libs.patch
new file mode 100644
index 000000000000..efb84ff6240a
--- /dev/null
+++ b/sys-process/numactl/files/numactl-2.0.8-static_libs.patch
@@ -0,0 +1,86 @@
+Build static libs without -fPIC and only if BUILD_STATIC=yes
+
+https://bugs.gentoo.org/379849
+
+Patch written by Kacper Kowalik <xarthisius@gentoo.org>
+--- a/Makefile
++++ b/Makefile
+@@ -7,6 +7,8 @@
+ # for compatibility with old releases
+ CFLAGS += ${OPT_CFLAGS}
+ override CFLAGS += -I.
++# build static libraries by default
++BUILD_STATIC ?= yes
+
+ # find out if compiler supports __thread
+ THREAD_SUPPORT := $(shell if $(CC) $(CFLAGS) threadtest.c -o threadtest \
+@@ -24,6 +26,7 @@
+
+ CLEANFILES := numactl.o libnuma.o numactl numademo numademo.o distance.o \
+ memhog libnuma.so libnuma.so.1 numamon numamon.o syscall.o bitops.o \
++ distance.pic.o libnuma.pic.o syscall.pic.o \
+ memhog.o util.o stream_main.o stream_lib.o shm.o stream clearcache.o \
+ test/pagesize test/tshared test/mynode.o test/tshared.o mt.o empty.o empty.c \
+ test/mynode test/ftok test/prefered test/randmap \
+@@ -40,11 +43,16 @@
+ libdir := ${prefix}/$(shell ./getlibdir)
+ docdir := ${prefix}/share/doc
+
++NUMA_LIBS = libnuma.so
++ifeq ($(BUILD_STATIC),yes)
++NUMA_LIBS+= libnuma.a
++endif
++
+ all: numactl migratepages migspeed libnuma.so numademo numamon memhog \
+ test/tshared stream test/mynode test/pagesize test/ftok test/prefered \
+ test/randmap test/nodemap test/distance test/tbitmap test/move_pages \
+ test/mbind_mig_pages test/migrate_pages test/realloc_test libnuma.a \
+- test/node-parse numastat
++ test/node-parse numastat ${NUMA_LIBS}
+
+ numactl: numactl.o util.o shm.o bitops.o libnuma.so
+
+@@ -81,13 +89,14 @@
+
+ libnuma.so.1: versions.ldscript
+
+-libnuma.so.1: libnuma.o syscall.o distance.o affinity.o sysfs.o rtnetlink.o
++libnuma.so.1: libnuma.pic.o syscall.pic.o distance.pic.o affinity.pic.o sysfs.pic.o rtnetlink.pic.o
+ ${CC} ${LDFLAGS} -shared -Wl,-soname=libnuma.so.1 -Wl,--version-script,versions.ldscript -Wl,-init,numa_init -Wl,-fini,numa_fini -o libnuma.so.1 $(filter-out versions.ldscript,$^)
+
+ libnuma.so: libnuma.so.1
+ ln -sf libnuma.so.1 libnuma.so
+
+-libnuma.o : CFLAGS += -fPIC
++%.pic.o: %.c
++ ${CC} -fPIC ${CPPFLAGS} ${CFLAGS} -c $< -o $@
+
+ AR ?= ar
+ RANLIB ?= ranlib
+@@ -95,16 +104,6 @@
+ $(AR) rc $@ $^
+ $(RANLIB) $@
+
+-distance.o : CFLAGS += -fPIC
+-
+-syscall.o : CFLAGS += -fPIC
+-
+-affinity.o : CFLAGS += -fPIC
+-
+-sysfs.o : CFLAGS += -fPIC
+-
+-rtnetlink.o : CFLAGS += -fPIC
+-
+ test/tshared: test/tshared.o libnuma.so
+
+ test/mynode: test/mynode.o libnuma.so
+@@ -143,7 +148,9 @@
+ mkdir -p ${libdir}
+ install -m 0755 libnuma.so.1 ${libdir}
+ cd ${libdir} ; ln -sf libnuma.so.1 libnuma.so
++ifeq ($(BUILD_STATIC),yes)
+ install -m 0644 libnuma.a ${libdir}
++endif
+ mkdir -p ${prefix}/include
+ install -m 0644 numa.h numaif.h numacompat1.h ${prefix}/include
+ install -m 0755 numastat ${prefix}/bin
diff --git a/sys-process/numactl/files/numactl-2.0.9-testsuite_fix.patch b/sys-process/numactl/files/numactl-2.0.9-testsuite_fix.patch
new file mode 100644
index 000000000000..27a97fdf2509
--- /dev/null
+++ b/sys-process/numactl/files/numactl-2.0.9-testsuite_fix.patch
@@ -0,0 +1,12 @@
+Tests fail with /bin/dash
+
+Singned-off-by: Lars Wendler <polynomial-c@gentoo.org>
+
+--- numactl-2.0.9/test/printcpu
++++ numactl-2.0.9/test/printcpu
+@@ -1,4 +1,4 @@
+-#!/bin/sh
++#!/bin/bash
+ #print cpu it is running on
+ declare -a arr
+ arr=( $(< /proc/self/stat) )
diff --git a/sys-process/numactl/files/numactl-2.0.9-testsuite_path.patch b/sys-process/numactl/files/numactl-2.0.9-testsuite_path.patch
new file mode 100644
index 000000000000..018fc6dbcd18
--- /dev/null
+++ b/sys-process/numactl/files/numactl-2.0.9-testsuite_path.patch
@@ -0,0 +1,14 @@
+diff -Naur numactl-2.0.10-orig/test/bind_range numactl-2.0.10/test/bind_range
+--- numactl-2.0.10-orig/test/bind_range 2015-05-03 22:23:31.095600314 -0400
++++ numactl-2.0.10/test/bind_range 2015-05-03 22:25:29.107592557 -0400
+@@ -93,8 +93,8 @@
+
+ HIGHESTCPU=$(grep 'processor' /proc/cpuinfo | tail -n1 | cut -f2 -d':')
+ HIGHESTCPU=$(echo $HIGHESTCPU | cut -f2 -d' ')
+-HIGHESTNODE=$(numactl -H | grep -e 'node [0-9]* cpus' | tail -n1 | cut -f2 -d' ')
+-LOWESTNODE=$(numactl -H | grep -e 'node [0-9]* cpus' | head -n1 | cut -f2 -d' ')
++HIGHESTNODE=$(../numactl -H | grep -e 'node [0-9]* cpus' | tail -n1 | cut -f2 -d' ')
++LOWESTNODE=$(../numactl -H | grep -e 'node [0-9]* cpus' | head -n1 | cut -f2 -d' ')
+
+ get_mask
+
diff --git a/sys-process/numactl/metadata.xml b/sys-process/numactl/metadata.xml
new file mode 100644
index 000000000000..bee9f9ae6f02
--- /dev/null
+++ b/sys-process/numactl/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>base-system</herd>
+</pkgmetadata>
diff --git a/sys-process/numactl/numactl-2.0.10-r1.ebuild b/sys-process/numactl/numactl-2.0.10-r1.ebuild
new file mode 100644
index 000000000000..d01149ba0b0c
--- /dev/null
+++ b/sys-process/numactl/numactl-2.0.10-r1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils toolchain-funcs multilib-minimal
+
+DESCRIPTION="Utilities and libraries for NUMA systems"
+HOMEPAGE="http://oss.sgi.com/projects/libnuma/"
+SRC_URI="ftp://oss.sgi.com/www/projects/libnuma/download/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+# ARM lacks the __NR_migrate_pages syscall.
+KEYWORDS="~amd64 -arm ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux"
+IUSE=""
+
+ECONF_SOURCE=${S}
+
+src_prepare() {
+ eautoreconf
+ epatch "${FILESDIR}"/${PN}-2.0.8-cpuid-pic.patch #456238
+}
+
+src_test() {
+ if [ -d /sys/devices/system/node ]; then
+ einfo "The only generically safe test is regress2."
+ einfo "The other test cases require 2 NUMA nodes."
+ emake regress2
+ else
+ ewarn "You do not have baseline NUMA support in your kernel, skipping tests."
+ fi
+}
+
+multilib_src_compile() {
+ multilib_is_native_abi && default || emake libnuma.la
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install$(multilib_is_native_abi || echo "-libLTLIBRARIES install-includeHEADERS")
+}
+
+multilib_src_install_all() {
+ DOCS=( README TODO CHANGES DESIGN )
+ einstalldocs
+ # delete man pages provided by the man-pages package #238805
+ rm -r "${ED}"/usr/share/man/man[25] || die
+}
diff --git a/sys-process/numactl/numactl-2.0.10-r2.ebuild b/sys-process/numactl/numactl-2.0.10-r2.ebuild
new file mode 100644
index 000000000000..18da72af2930
--- /dev/null
+++ b/sys-process/numactl/numactl-2.0.10-r2.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils toolchain-funcs multilib-minimal
+
+DESCRIPTION="Utilities and libraries for NUMA systems"
+HOMEPAGE="http://oss.sgi.com/projects/libnuma/"
+SRC_URI="ftp://oss.sgi.com/www/projects/libnuma/download/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+# ARM lacks the __NR_migrate_pages syscall.
+KEYWORDS="~amd64 -arm ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux"
+IUSE=""
+
+ECONF_SOURCE=${S}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-2.0.8-cpuid-pic.patch #456238
+ epatch "${FILESDIR}"/${PN}-2.0.10-numademo-cflags.patch #540856
+ eautoreconf
+}
+
+src_test() {
+ if [ -d /sys/devices/system/node ]; then
+ einfo "The only generically safe test is regress2."
+ einfo "The other test cases require 2 NUMA nodes."
+ emake regress2
+ else
+ ewarn "You do not have baseline NUMA support in your kernel, skipping tests."
+ fi
+}
+
+multilib_src_compile() {
+ multilib_is_native_abi && default || emake libnuma.la
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install$(multilib_is_native_abi || echo "-libLTLIBRARIES install-includeHEADERS")
+}
+
+multilib_src_install_all() {
+ DOCS=( README TODO CHANGES DESIGN )
+ einstalldocs
+ # delete man pages provided by the man-pages package #238805
+ rm -r "${ED}"/usr/share/man/man[25] || die
+}
diff --git a/sys-process/numactl/numactl-2.0.10.ebuild b/sys-process/numactl/numactl-2.0.10.ebuild
new file mode 100644
index 000000000000..395a4533a203
--- /dev/null
+++ b/sys-process/numactl/numactl-2.0.10.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils toolchain-funcs multilib
+
+DESCRIPTION="Utilities and libraries for NUMA systems"
+HOMEPAGE="http://oss.sgi.com/projects/libnuma/"
+SRC_URI="ftp://oss.sgi.com/www/projects/libnuma/download/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+# ARM lacks the __NR_migrate_pages syscall.
+KEYWORDS="~amd64 -arm ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux"
+IUSE=""
+
+src_prepare() {
+ eautoreconf
+ epatch "${FILESDIR}"/${PN}-2.0.8-cpuid-pic.patch #456238
+}
+
+src_test() {
+ if [ -d /sys/devices/system/node ]; then
+ einfo "The only generically safe test is regress2."
+ einfo "The other test cases require 2 NUMA nodes."
+ emake regress2
+ else
+ ewarn "You do not have baseline NUMA support in your kernel, skipping tests."
+ fi
+}
+
+src_install() {
+ DOCS=( README TODO CHANGES DESIGN )
+ default
+ # delete man pages provided by the man-pages package #238805
+ rm -r "${ED}"/usr/share/man/man[25] || die
+}
diff --git a/sys-process/numactl/numactl-2.0.9.ebuild b/sys-process/numactl/numactl-2.0.9.ebuild
new file mode 100644
index 000000000000..e40bead10316
--- /dev/null
+++ b/sys-process/numactl/numactl-2.0.9.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils toolchain-funcs multilib
+
+DESCRIPTION="Utilities and libraries for NUMA systems"
+HOMEPAGE="http://oss.sgi.com/projects/libnuma/"
+SRC_URI="ftp://oss.sgi.com/www/projects/libnuma/download/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+# ARM lacks the __NR_migrate_pages syscall.
+KEYWORDS="-arm amd64 ~ia64 ppc ppc64 x86 ~amd64-linux"
+IUSE="static-libs"
+
+src_prepare() {
+ echo "printf $(get_libdir)" > getlibdir
+ epatch "${FILESDIR}"/${PN}-2.0.8-static_libs.patch
+ epatch "${FILESDIR}"/${PN}-2.0.8-cpuid-pic.patch #456238
+ epatch "${FILESDIR}"/${PN}-2.0.9-testsuite_fix.patch
+ epatch "${FILESDIR}"/${P}-testsuite_path.patch
+ rm numastat || die #466108
+}
+
+src_compile() {
+ emake \
+ AR="$(tc-getAR)" \
+ CC="$(tc-getCC)" \
+ RANLIB="$(tc-getRANLIB)" \
+ CFLAGS="${CFLAGS}" \
+ BENCH_CFLAGS="" \
+ THREAD_SUPPORT=$(tc-has-tls && echo yes || echo no) \
+ BUILD_STATIC=$(usex static-libs)
+}
+
+src_test() {
+ if [ -d /sys/devices/system/node ]; then
+ einfo "The only generically safe test is regress2."
+ einfo "The other test cases require 2 NUMA nodes."
+ cd test
+ ./regress2 || die
+ else
+ ewarn "You do not have baseline NUMA support in your kernel, skipping tests."
+ fi
+}
+
+src_install() {
+ emake install prefix="${ED}/usr" BUILD_STATIC=$(usex static-libs)
+ # delete man pages provided by the man-pages package #238805
+ rm -rf "${ED}"/usr/share/man/man[25]
+ doman *.8 # makefile doesnt get them all
+ dodoc README TODO CHANGES DESIGN
+}