nurbs-oct stable port information

Info2: <<
Package: nurbs-oct%type_pkg[oct]
Version: 1.3.6
Type: oct (3.6.0 3.6.1), forge (nurbs), gcc (4.7)
Revision: 3
Architecture: i386, x86_64
Maintainer: Alexander Hansen
# unfortunately, Homepage won't do types
Homepage: http://octave.sourceforge.net/nurbs/index.html
Description: NURBS routines for Octave
DescDetail: <<
Collection of routines for the creation, and manipulation of Non-Uniform
Rational B-Splines (NURBS), based on the NURBS toolbox by Mark Spink.

This package provides the following functions:

Basic operations for NURBS curves, surfaces and volumes:
nrbmak
nrbkntins
nrbdegelev
nrbderiv
nrbdeval
nrbeval
Operations for constructing NURBS curves and surfaces:
nrbtform
nrbreverse
nrbtransp
nrbline
nrbcirc
nrbrect
nrb4surf
nrbcylind
nrbextract
nrbextrude
nrbrevolve
nrbruled
nrbcoons
nrbplot
nrbctrlplot
nrbkntplot
nrbexport
nrbtestcrv
nrbtestsrf
B-Spline functions:
bspeval
bspderiv
bspkntins
bspdegelev
basisfun
basisfunder
findspan
numbasisfun
tbasisfun
B-splines geometric entities:
curvederivcpts
curvederiveval
surfderivcpts
surfderiveval
NURBS geometric entities and functions:
nrbbasisfun
nrbbasisfunder
nrbnumbasisfun
nrbcrvderiveval
nrbsurfderiveval
Knots construction and refinement:
kntuniform
kntrefine
kntbrkdegreg
kntbrkdegmult
Vector and Transformation Utilities:
vecnorm
vecmag
vecmag2
vecangle
vecdot
veccross
vecrotx
vecroty
vecrotz
vecscale
vectrans
Misc Utilities:
deg2rad
rad2deg
<<

License: GPL2+

# Most octave-forge packages have to have the following BuildDepends:
# liboctave%type_pkg[oct]-gcc%type_pkg[gcc]-dev
# ( %type_pkg[oct] = 305 ) hdf5.7-oldapi,
# ( %type_pkg[oct] != 305 ) hdf5.7
#
# Packages which serve only Octave-3.0.5 or only Octave > 3.0.5 need
# not use the conditional, of course.

BuildDepends: <<
liboctave%type_pkg[oct]-gcc%type_pkg[gcc]-dev,
fftw3,
hdf5.7
<<
Depends: <<
octave%type_pkg[oct]-interpreter,
gcc%type_pkg[gcc]-shlibs
<<
Conflicts: octave-forge

Source-MD5: dca01eea531dff0f9c1b4ecea885c288

DescPackaging: <<
This package:
Wants omp.h. This doesn't come with clang, so we'll use that from gcc47 instead.

Common for all octave-forge packages:

We read in postinst and prerm template scripts installed by octaveN and modify
them to use the name of this package because Octave's package manager can't
cope with non-literal arguments.

The Type: forge (pkgname) is used to minimize what needs to be changed when
using this .info file as a template.
<<

#### Insert required changes here ####

PatchScript: perl -pi -e 's/mkoctfile/mkoctfile\-gcc%type_raw[gcc]/g' src/Makefile

######################################

# Do not change anything from this point down, unless absolutely necessary,
# since the foo-oct%type_pkg[oct] packages are designed to be built/installed
# in the same way.

# default source
Source: mirror:sourceforge:/octave/%type_raw[forge]-%v.tar.gz

NoSetCPPFLAGS: true
NoSetLDFLAGS: true
SetLIBRARY_PATH: /usr/X11R6/lib:%p/lib
UseMaxBuildJobs: false
BuildAsNobody: false

CompileScript: <<
#!/bin/sh -ev
if [ $UID -ne 0 ]
then
echo "%n cannot be built with --build-as-nobody"
exit 1
fi
export OCTAVE=%p/bin/octave-%type_raw[oct]
pkgdir=%type_raw[forge]-%v
# repack tarball, since octave-3.4.3 appears not to want to install
# from directories
if [ %type_pkg[oct] -ge 343 ]
then
cd ..
tar -cf %type_raw[forge].tar $pkgdir
cd %b
pkgsrc=%type_raw[forge].tar
else pkgsrc=$pkgdir
fi
%p/share/octave/%type_raw[oct]/scripts/octave-forge-compile.sh $pkgsrc
<<

InstallScript: <<
#!/bin/sh -ev
%p/share/octave/%type_raw[oct]/scripts/octave-forge-install.sh %type_raw[forge]-%v %i %b
mkdir -p %i/share/octave/%type_raw[oct]/%type_raw[forge]-%v
# copy template scripts
cp %p/share/octave/%type_raw[oct]/scripts/octave-forge-prerm %p/share/octave/%type_raw[oct]/scripts/octave-forge-postinst %i/share/octave/%type_raw[oct]/%type_raw[forge]-%v
cd %i/share/octave/%type_raw[oct]/%type_raw[forge]-%v
sed -i -e 's/@PKGNAME@/%type_raw[forge]-%v/' octave-forge-postinst
sed -i -e 's/@PKGNAME@/%type_raw[forge]/' octave-forge-prerm
chmod a+x octave-forge*
<<
PostInstScript: <<
if [ -s %p/var/octave/%type_raw[oct]/octave_packages ] && [ -f %p/var/octave/%type_raw[oct]/octave_packages ]
then
%p/share/octave/%type_raw[oct]/%type_raw[forge]-%v/octave-forge-postinst
else
mv %p/share/octave/%type_raw[oct]/packages/%type_raw[forge]-%v/octave_packages %p/var/octave/%type_raw[oct]/octave_packages
fi
<<

PreRmScript: %p/share/octave/%type_raw[oct]/%type_raw[forge]-%v/octave-forge-prerm
<<