Info2: << Package: nurbs-oct%type_pkg[oct] Version: 1.3.5 Type: oct (3.2.4 3.4.3), forge (nurbs) Revision: 2 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+ # All octave-forge packages have to have the following BuildDepends: # octave%type_pkg[oct]-dev | octave%type_pkg[oct]-atlas-dev, # fftw3, # ( %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]-dev, fftw3, ( %type_pkg[oct] = 305 ) hdf5.7-oldapi, ( %type_pkg[oct] != 305 ) hdf5.7, gcc46-compiler << Depends: << gcc46-shlibs, octave%type_pkg[oct]-interpreter << Conflicts: octave-forge Source-MD5: 8f1326d15ed8bc4d855659188fbda774 DescPackaging: << This package: Wants omp.h, which is included with gcc4.2 but not 4.0. For 10.4, we use gcc46 -- fangism. 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 #### SourceDirectory: %type_pkg[forge] ###################################### # 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 # this will redirect like a fiend, and then you can replace it with a one-hop: #Source: http://downloads.sourceforge.net/project/octave/Octave Forge Packages/Individual Package Releases/%type_raw[forge]-%v.tar.gz # replacing "Individual Package Releases" with the relevant directory NoSetCPPFLAGS: true SetCFLAGS: -fopenmp SetCXXFLAGS: -fopenmp # for libgomp.dylib SetLDFLAGS: -L%p/lib/gcc4.6/lib -lgomp SetLIBRARY_PATH: /usr/X11R6/lib:%p/lib SetMAKEFLAGS: -j1 PatchScript: << #!/bin/sh -ev # http://stackoverflow.com/questions/5525695/openmp-error-x-is-predetermined-shared-for-private sed -i.orig -e '48,50s|const ||' src/bspeval.cc << CompileScript: << #!/bin/sh -ev export OCTAVE=%p/bin/octave-%type_raw[oct] osversion=`uname -r | cut -d. -f1` if [ $osversion -eq 8 ] then # need gcc46 for openmp -- fangism export CC=gcc-fsf-4.6 export CXX=g++-fsf-4.6 elif [ $osversion -eq 9 ] # set compilers on 10.5; probably not needed on octave-3.4.3, since # we build with GCC-4.2 there. then export CC=gcc-4.2 export CXX=g++-4.2 fi # 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 %type_raw[forge] cd %b pkgsrc=%type_raw[forge].tar else pkgsrc=%type_raw[forge] 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 <<