add OctavePackage (#6746)

* add OctavePackage

1. remove import CudaPackage which is not needed anymore
2. mention CudaPackage and OctavePackage in packaging guide
3. adjust OctavePackageTemplate
4. add clue file for Octave build
5. sanity check on self.prefix

* use setup_environment
This commit is contained in:
Denis Davydov
2018-01-03 03:03:27 +01:00
committed by Adam J. Stewart
parent fd6b9ac3af
commit 4b5fe75bc3
9 changed files with 88 additions and 49 deletions

View File

@@ -22,7 +22,6 @@
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack.build_systems.cuda import CudaPackage
from spack import *
from spack.package_test import compare_output
from spack.util.executable import Executable

View File

@@ -23,7 +23,6 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
from spack.build_systems.cuda import CudaPackage
class Dealii(CMakePackage, CudaPackage):

View File

@@ -23,10 +23,9 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
import os
class OctaveOptim(Package):
class OctaveOptim(OctavePackage):
"""Non-linear optimization toolkit for Octave."""
homepage = "https://octave.sourceforge.io/optim/"
@@ -35,16 +34,4 @@ class OctaveOptim(Package):
version('1.5.2', 'd3d77982869ea7c1807b13b24e044d44')
depends_on('octave-struct@1.0.12:')
extends('octave@3.6.0:')
def install(self, spec, prefix):
os.environ.pop('CC', '')
os.environ.pop('CXX', '')
os.environ.pop('FC', '')
octave('--quiet',
'--norc',
'--built-in-docstrings-file=/dev/null',
'--texi-macros-file=/dev/null',
'--eval', 'pkg prefix %s; pkg install %s' %
(prefix, self.stage.archive_file))

View File

@@ -25,20 +25,11 @@
from spack import *
class OctaveSplines(Package):
class OctaveSplines(OctavePackage):
"""Additional spline functions."""
homepage = "http://octave.sourceforge.net/splines/index.html"
url = "http://downloads.sourceforge.net/octave/splines-1.3.1.tar.gz"
version('1.3.1', 'f9665d780c37aa6a6e17d1f424c49bdeedb89d1192319a4e39c08784122d18f9')
extends('octave@3.6.0:')
def install(self, spec, prefix):
octave('--quiet',
'--norc',
'--built-in-docstrings-file=/dev/null',
'--texi-macros-file=/dev/null',
'--eval', 'pkg prefix %s; pkg install %s' %
(prefix, self.stage.archive_file))

View File

@@ -23,26 +23,13 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
import os
class OctaveStruct(Package):
class OctaveStruct(OctavePackage):
"""Additional structure manipulation functions for Octave."""
homepage = "https://octave.sourceforge.io/struct/"
url = "https://downloads.sourceforge.net/octave/struct-1.0.14.tar.gz"
version('1.0.14', '3589d5eb8000f18426e2178587eb82f4')
extends('octave@2.9.7:')
def install(self, spec, prefix):
os.environ.pop('CC', '')
os.environ.pop('CXX', '')
os.environ.pop('FC', '')
octave('--quiet',
'--norc',
'--built-in-docstrings-file=/dev/null',
'--texi-macros-file=/dev/null',
'--eval', 'pkg prefix %s; pkg install %s' %
(prefix, self.stage.archive_file))