Info2: << Package: strings-oct%type_pkg[oct] Version: 1.1.0 Type: oct (3.6.0 3.6.1 3.6.2 3.6.3 3.6.4), forge (strings) Revision: 2 Maintainer: Alexander Hansen # unfortunately, Homepage won't do types Homepage: http://octave.sourceforge.net/strings/index.html Description: String manipulation functions for Octave DescDetail: << Additional string manipulation functions. This package provides the following functions: Search and replace: pcregexp Operations: strsort editdistance cstrcmp strjoin Conversion: base64encode base64decode << License: OSI-Approved Source: mirror:sourceforge:octave/Octave%%20Forge%%20Packages/R2009-05-08/%type_raw[forge]-%v.tar.gz Source-MD5: 2daa6c3a052665baf309ecbc98c42d8a BuildDepends: << liboctave%type_pkg[oct]-dev, fftw3, hdf5.8, libpcre1 << Depends: << octave%type_pkg[oct]-interpreter, libpcre1-shlibs << Conflicts: octave-forge DescPackaging: << This package: Listed license is GPL3+/modified BSD/public domain, so lump those together as "OSI-Approved". Octave Forge appears to be ditching that whole "portability" nonsense, even using GNU tools, so hand-patch the Makefile. 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, or when the package name contains underscores. << #### Insert required changes here #### SourceDirectory: %type_pkg[forge] PatchScript: perl -pi -e 's|mkoctfile|mkoctfile -L%p/lib -lpcre|' 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. 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] if [ $UID -ne 0 ] then echo "%n cannot be built with --build-as-nobody" exit 1 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]-%v 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 `which xvfb-run` %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: `which xvfb-run` %p/share/octave/%type_raw[oct]/%type_raw[forge]-%v/octave-forge-prerm <<