python/python-netaddr: Added (Network address manipulation)

Signed-off-by: Niels Horn <niels.horn@slackbuilds.org>
This commit is contained in:
Christoph Willing 2013-04-26 07:34:41 -03:00 committed by Niels Horn
parent 721eb4e796
commit ba43e158ce
5 changed files with 163 additions and 0 deletions

View file

@ -0,0 +1,11 @@
--- setup.py.orig 2012-08-30 08:49:42.000000000 +1000
+++ setup.py 2013-03-07 20:03:40.356427113 +1000
@@ -8,7 +8,7 @@
import os
import sys
-from distutils.core import setup
+from setuptools import setup
if os.path.exists('MANIFEST'):
os.remove('MANIFEST')

View file

@ -0,0 +1,19 @@
A pure Python network address representation and manipulation library.
netaddr provides a Pythonic way of working with :-
- IPv4 and IPv6 addresses and subnets
- MAC addresses, OUI and IAB identifiers, IEEE EUI-64 identifiers
- arbitrary (non-aligned) IP address ranges and IP address sets
- various non-CIDR IP range formats such as nmap and glob-style formats
The source package includes (now out of date) data from:
1. http://standards.ieee.org (public OUI and IAB registration data
published by the IEEE)
2. http://www.iana.org (IPv4, IPv6 and multicast address space
allocations).
To include the latest versions in the package, run the script with:
# NEWDATA="yes" ./python-netaddr.SlackBuild
and the latest versions will be downloaded for inclusion in the package.

View file

@ -0,0 +1,103 @@
#!/bin/sh
# Slackware build script for python-netaddr
# Copyright 2013 Christoph Willing, Australia
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=python-netaddr
SRC_PRGNAM=netaddr
VERSION=${VERSION:-0.7.10}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i486 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
set -ev
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $SRC_PRGNAM-$VERSION
tar xvf $CWD/$SRC_PRGNAM-$VERSION.tar.gz
cd $SRC_PRGNAM-$VERSION
patch -p0 < $CWD/01_use_setuptools.diff
if [ ${NEWDATA:-no} = "yes" ]; then
echo 'downloading latest IEEE data'
(cd netaddr/eui/ && wget -N http://standards.ieee.org/regauth/oui/oui.txt)
(cd netaddr/eui/ && wget -N http://standards.ieee.org/regauth/oui/iab.txt)
echo 'rebuilding IEEE data file indices'
PYTHONPATH="." python netaddr/eui/ieee.py
echo 'downloading latest IANA data'
(cd netaddr/ip/ && wget -N http://www.iana.org/assignments/ipv4-address-space/ipv4-address-space.xml)
(cd netaddr/ip/ && wget -N http://www.iana.org/assignments/ipv6-address-space/ipv6-address-space.xml)
(cd netaddr/ip/ && wget -N http://www.iana.org/assignments/multicast-addresses/multicast-addresses.xml)
fi
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
-exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
python setup.py install --root=$PKG
PYTHONPATH="build/lib" sphinx-build -b html docs/source docs/html
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a docs/html \
AUTHORS CHANGELOG COPYRIGHT INSTALL LICENSE README REFERENCES THANKS \
$PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}

View file

@ -0,0 +1,10 @@
PRGNAM="python-netaddr"
VERSION="0.7.10"
HOMEPAGE="https://pypi.python.org/pypi/netaddr"
DOWNLOAD="https://github.com/downloads/drkjam/netaddr/netaddr-0.7.10.tar.gz"
MD5SUM="605cfd09ff51eaeff0ffacdb485e270b"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="Sphinx Pygments"
MAINTAINER="Christoph Willing"
EMAIL="c.willing@uq.edu.au"

View file

@ -0,0 +1,20 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description.
# Line up the first '|' above the ':' following the base package name, and
# the '|' on the right side marks the last column you can put a character in.
# You must make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
python-netaddr: python-netaddr (Network address manipulation)
python-netaddr:
python-netaddr: netaddr provides a Pythonic way of working with:
python-netaddr: - IPv4 and IPv6 addresses and subnets
python-netaddr: - MAC addresses, OUI and IAB identifiers, IEEE EUI-64 identifiers
python-netaddr: - arbitrary (non-aligned) IP address ranges and IP address sets
python-netaddr: - some non-CIDR IP range formats such as nmap and glob-style formats
python-netaddr:
python-netaddr: nettaddr is able to manipulate IPv4, IPv6, CIDR, EUI and MAC
python-netaddr: network addresses.
python-netaddr: