* Remove unneeded patch lines which fail for the most recent CNTK version on the head of the git repo
* Really check for NVML/GDK
* Fix some violations
* gtkplus: set XDG_DATA_DIRS
* shared-mime-info: database of common MIME types
* gtkplus: needs shared-mime-info for correct handling of stock icons
* shared-mime-info: builds with newer intltool than provided by some platforms
* atk: set XDG_DATA_DIRS at run-time
* gdk-pixbuf: set XDG_DATA_DIRS at run-time
* gtkplus: set XDG_DATA_DIRS at run-time
* pango: set XDG_DATA_DIRS at run-time
* shared-mime-info: set XDG_DATA_DIRS at run-time
* enable some of the tools
do not make zoltan default
* modify moab package
add shared, debug options to cgm, too
build some tools by default (mbsize, mbconvert)
add hdf5, netcdf dependency
add pnetcdf variant (dependency), metis, parmetis, zoltan
add shared, debug, fortran options to moab
* few kinks for moab
zoltan should be built without fortran api, otherwise moab
complains (need to fix)
also, notice that when built with cgm, shared can't find
cgm libraries for the new tools/geometry execs
install in serial for the time being (because of example makefile
duplicate?)
for example, these builds are successful:
spack install moab+mpi+hdf5+zoltan ^mpich@3.2
spack install moab+mpi+hdf5+shared ^mpich@3.2
* force hdf5+mpi if both are specified
also, something like this works:
spack install moab+mpi+hdf5+cgm ^mpich@3.2 ^cgm+oce+mpi ^oce@0.17.2
use mpich32, and cgm built with oce 0.17.2
* forgot about irel, fbigeom, mbcoupler
* add meshkit package
simple build so far, moab and cgm deps only
also, an example of complex build for cgm
spack install moab+mpi+hdf5+cgm+irel+fbigeom ^mpich@3.2 ^cgm+oce+mpi ^oce@0.17.2
* for meshkit, moab needs to have irel, fbigeom
* forgot to self.spec
after building moab with cgm with oce 0.17.2, we can build
meshkit with something like this
spack install meshkit ^moab/tsb75zk
cgm depencency is found out from moab
moab has to be built with irel and fbigeom
* add netgen package and review
do not support yet older versions of meshkit
(which depend on lasso, etc)
add netgen package; tested with meshkit (netgen has to be built without
occ, for meshkit)
We are not enforcing that yet, we may have to test
* use conflicts where needed, suggested by review
remove release candidates
* flake8 alignment errors
* flake8
* reviews
flake8 alignment
explicit options, even for default variants
variant for netgen should be "gui", with the default ~gui (False)
FIXME: with-occ does not work right for netgen ; maybe it should be disabled?
also, with +gui, it should depend on a lot more, like tk, tcl?
* flake8 issues
whitespaces and a comment in netgen
* add more explicit options
--without-mpi needs fixing for cgm, moab and meshkit
add variable url for netgen (although we don''t know if other
versions will appear)
* flake8, trailing whitespace
* ninja-fortran: a Fortran-capable fork of ninja build tool
* Use url_for_version for clarity
* Clean ninja-fortran
* Cleanup in the original ninja package
* added py-tomopy package
* fixed dependencies and added import_modules
* edited deps for tomopy with import_modules and added py-olefile pkg
* changed module name
* changed dependency to python because it will not build with setuptools
* fixed dependency list for py-tomopy and py-dxchange
* added py-nose dependency
* fixed tests
* commented out dependency py-counter
* fixed dependency py-pybtex-docutils
* removed nose as a dependency
* fixed flake8 errors
* fixed import_modules
* fixed import_modules indent
* fixed various issues in tomopy and deps files
- paraview 5.2.1 -> 5.4.0 supports both Qt4 and Qt5, but the assumed
default version changes between versions. So explicitly define
which QT major version is being used.
* Several improvements for the openfoam packages
--
Refactor openfoam packages by adding an OpenfoamArch class
Use separate configure, build, install phases.
Provide FOAM_PROJECT_DIR dependent env for openfoam packages
- easier way to locate
Eliminate intermediate installation directories
- unneeded clutter.
- makes it less than easy to find the etc/bashrc file
Add versioning for all openfoam patches
- no certainty which parts (if any) will be needed in future versions,
especially if we strive to ensure that the upstream version builds
well with spack to begin with.
Support build of develop branches
- helps track build regressions for future openfoam releases
STYLE: use common/ and assets/ to provide additional (build) resources ...
* - adjust OpenFOAM provider
Move openfoam-com up front since this is the one being used as a base
for the others
Added line in package.py to patch using ipopt_ppc_build.patch. The patch simply adds support in config.guess and Ipopt/config.guess to build ipopt on ppc64le.
* adding H5Z-ZFP; updating zfp to use choice variant for bit stream word size
* fixing homepage url
* removed fortran error message...just build fortran if can, otherwise ignore
* Added magma package
* Incorporated Serban's change
* fftw: patch configuration file to remove search for xlc_r compiler
when compiler not gcc
FFTW assumes there are only 2 compilers: gcc and IBM XL. When
building threaded fftw, the configuration file is looking for
the threaded IBM XL's xlc_r compiler when the compiler is not gcc.
The PGI compiler is not gcc.
* Include depends_on for gperf
Sometime around 2.12.2 fontconfig acquired a build-time
dependency on `gperf` (this commit, I think:
59fd9960bbb58fd6257adb13ec0f918882149332).
This adds the dependency.
`gperf` is called in the `src/Makefile`, see line 907 of
`src/Makefile.in`.
* Only depend_on gperf if @2.12.2:
The gperf dependency *seems* to only be required when @2.12.2:.
Earlier releases do not check the arg type of the gperf lookup
function (which requires gperf) and are able to use pre-generated
files so gperf is not required at build time.
* fixes#967
* Version bump to 0.9.1
- Bugfixes for spack find
- 0.9.1 can read specs from current develop.
* Don't assume spack is in the path when building docs.
* fixing Makefile override of PREFIX and install w/gcc-6
* oce changes for cgm
cgm can be configured with oce, but oce needs
to have X11 enabled, because some libraries
(like TKCAF in occ/oce) gets built only of X11 is NOT disabled
so introduce a variant +X11 for oce, which is needed when
configuring cgm with oce(+X11)
* follow up review
simplify by removing the patch and different url paths
use append instead of extend, when necessary
make mpi true by default
X11 dependency is still to be addressed; it pulls in some opengl
library (on laptop nvidia seem to work, on virtual linux machine
mesa was good enough)
- invoke make with the correct TARGET for aarch64
- foforce PILERDRIVER as openblas cannot correctly detect CPU on aarch64
- update url to more recent version
* Fix tpetra-related xsdk errors
Recent changes to the trilinos package broke the xsdk build.
xSDK explicitly disables tpetra, but packages depending on it
(such as ifpack2 and amesos2) are explicitly enabled by default
in the trilinos package. This commit explicitly disables them
within the xsdk package.py.
* Disabled exodus in the xsdk build
See issue #4502 for details
- Introduce an opengl variant that is enabled by default. Disabling it
allows building qt for X forwarding etc.
- Depend on fontconfig and freetype to make use of system fonts.
Otherwise qt can not find any fonts.
- libx11 is required when libxcb is used.
- Set MAKEFLAGS to parallelize qmake compilation.
* Initial version of the namd package
* Modified charm to consider compile against intel/intel-mpi
* Correction of namd to compile with intel-mkl and intel compiler
* Adding inclue64 in the prefix
* adding property for the build directory
* removing useless function build
Fixes#4488. When compiling metis as a shared library, the package
used the syntax `-rpath=`, followed by a path. This syntax is
non-portable, so replace it using Spack's compiler rpath argument
property.
* During install, remove prior unfinished installs
If a user performs an installation which fails, in some cases the
install prefix is still present, and the stage path may also be
present. With this commit, unless the user specifies
'--keep-prefix', installs are guaranteed to begin with a clean
slate. The database is used to decide whether an install finished,
since a database record is not added until the end of the install
process.
* test updates
* repair_partial uses keep_prefix and keep_stage
* use of mock stage object to ensure that stage is destroyed when it should be destroyed (and otherwise not)
* add --restage option to 'install' command; when this option is not set, the default is to reuse a stage if it is found.
* espresso: fixed compilation for 6.1 (elpa) and added support for hdf5
* espresso: addressed items in @davydden review
* espresso: fixed behavior for espresso@:5.4.0
* New Package: lanl-bml
Added LANL's BML library as Spack Package as dependency for future
packages
* Adjusted lanl-bml versions
Specified current master as develop and added v1.1.0 tagged version
* Renamed lanlbml package to bml
* First draft package for mono
Mono's vendor'ed boringssl interacts badly with openssl, so
you need to use `cmake~openssl`.
Left to its own devices, it wants to refer to things in
`/usr/share/.mono`. This doesn't work for installs that don't run as
root, etc... This package includes a variant to redirect those paths
to `prefix.share`.
* Whitespace/Flake8
* Adding Nalu package.
* Fixing flake8 stuff.
* Fixing flake8 stuff.
* Reorganizing trilinos package file a little to make it less verbose.
* Reorganizing trilinos package file for more general use as well as use as a dependency of the Nalu package. Setting fpic as default for yaml-cpp and superlu.
* Explicitly stating fpic variants in dependent packages.
* Updating nalu and trilinos package files with suggested changes.
* Fixing formatting issues. Making suggested changes.
* Fixing formatting.
* Reducing amount of explicit variants in Nalu. Adding suggested changes to Trilinos package file.
* Making suggested changes to Nalu package.
* Turning off superlu-dist variant.
* Cleaning up yaml-cpp file.
* Fixing pnetcdf requirements in trilinos.
* Handle missing defn of __NR_memfd_create
Generally SYS_foo is defined to __NR_foo (in sys/syscall.h) which is
then defined to a syscall number (in asm/unistd_64.h). Certain CentOS
systems have SYS_memfd_create defined to __NR_memfd_create but are
missing the second definition. This is a belt and suspenders solution
to the problem.
See [this post][syscall] for a nice general description of how these
parts fit together.
[syscall]: https://www.uninformativ.de/blog/postings/2017-02-11/0/POSTING-en.html
* Avoid flake8 warning
* postgresql: Fix build with threadsafe and add variant.
* postgresql: Convert Package to AutotoolsPackage.
Also add explicit enable flag for +threadsafe variant.
* Add add'l output formats for graphviz
Add support for additional output formats to graphviz, including gif,
jpg, pdf, and png.
Graphviz calls its pango+cairo option *pangocairo* so I followed suit.
Libgd was missing jpeg/jpg support. None of the other supported
formats are conditionalized and there is no --with/--without support,
so I followed suit.
* Fix ghostscript plugin
When I installed thusly:
spack install graphviz+pangocairo+libgd^cairo+X^pango+X
the ghostscript plugin tripped over some variable names that had
changes in `gs@9.18:`. This fixes them.
* Remove wayward import of tty
* Need to help Makefile.PL find the expat bits
We need to provide Makefile.PL with a clue about where our
expat bits live. We had the dependency, but I suspect
that the lib was actually linking against a system version.
* Use prefix.lib instead of building path myself
Ditto with .include
I've had non-repeatable failures in my CI runs on all three clusters
at the bamutil's step. In each case there are .o or .so files that
are corrupt or truncated.
I suspect that the homebrewed bamutil Makefile scheme doesn't actually
support parallel builds.
* Tighten up graphviz package
The fun started when configure discovered a broken/partial
installation of `swig` in `/usr/local`, then auto-discovered my
system's python and ruby packages.
- SpackException doesn't seem to exist. Convert it to a SpackError
and call `.format(...)` on the error string to fill in the
placeholder.
- Pull swig out of the list of languages. It's something that can be
asked for explicitly and that is needed if *any* of the langagues
are enabled. It's disabled by default.
- Explicitly disable the languages that are in "untested_bindings"
list lest the configure script pick up things from the system.
* Touch up variant description string
* Clean up conditional statement
* Use InstallError, not SpackError
* Drop the swig variant
Get rid of the swig variant and drive that bit based on whether any
languages are enabled.
* Move perl to the untested list
That's not strictly accurate. I tested it and it doesn't work.
There's a missing depends_on(). When you add that you'll discover
that the language binding bit can't find Perl's 'EXTERN.h'. Then
you'll discover that graphviz's `configure` script doesn't have a good
way to include the paths to Perl's bits (looks like I'll have to
gather them for each language and then use them to build `CFLAGS` and
`CXXFLAGS` and `LDFLAGS`). While pondering that, you'll discover that
EXTERN.h is buried down here:
```
opt/spack/linux-centos7-x86_64/gcc-4.8.5/perl-5.24.1-35ejv4426dmzreum4ekdibu3ddmhquvi/lib/5.24.1/x86_64-linux/CORE/EXTERN.h
```
and decide that you wish you had never thought to actually test
`graphviz+perl`.
I could find that directory with a snippet like so:
```
perl -MConfig -e 'print "$Config{archlib}\n"'
```
but at this point I'm much, much further down this rabbit hole then I
ever wanted to go.
* Convince python that tested_bindings is a list
When I removed `+perl` and made `tested_bindings` a list of one
thing, I ended up with this:
```
==> Error: cannot concatenate 'str' and 'tuple' objects
```
* Flake8 cleanup
* Don't convert a string to a string
* rm unused () and clarify variable name
Feedback from @adamjstewart
- Get rid of some unnecessary parens.
- Clearer variable name and use.
* Further cleanup of language enabling loop
Now we don't need that pesky temporary variable.
* Add package for cctools
Add a package for cctools.
Requires the recently submitted "useshrplib" support in Perl (or some
other mechanism to enable -fPIC for perl).
* Delete extraneous import
* Perl's shared variant changed, adapt...
The name of the variant that perl uses to build a shared lib changed and
it now defaults to True. Use the new name and continue to be insistent
about using the shared variant.
* Flake8 cleanup
* Added magma package
* Incorporated Serban's change
* boost-pgi: Add support for PGI compiler
There are two patches required:
(1) general fixes required by PGI
(2) workaround for a bug in PGI 17.4
Conflicts:
var/spack/repos/builtin/packages/boost/package.py
* Add variant to build shared Perl lib
Add a variant that enables Perl's "useshrplib" feature, which builds a
shared perl library.
This addresses problems like so:
```
/usr/bin/ld: /blah/blah/spack/opt/spack/linux-centos7-x86_64/gcc-4.8.5/perl-5.24.1-y43dp3p5w66v7qh5xkwgufxohyuodyew/lib/5.24.1/x86_64-linux/CORE/libperl.a(op.o): relocation R_X86_64_32S against `PL_opargs' can not be used when making a shared object; recompile with -fPIC
/blah/blah/spack/opt/spack/linux-centos7-x86_64/gcc-4.8.5/perl-5.24.1-y43dp3p5w66v7qh5xkwgufxohyuodyew/lib/5.24.1/x86_64-linux/CORE/libperl.a: could not read symbols: Bad value
```
It should also address the Intel compiler issue discussed in #3081
while respecting Perl's configuration machinery.
* Rename shared variant and default to True
* Use correct variant to add configure arg
* Restore bits that set ccflags for intel compilers
After some experimentation we've established that setting
the flag to build a shared perl library is tightly tied to
the use of -fPIC.
This commit restores the code that sets ccflags for
intel compilers.
* Flake8 cleanup
See the discussion about installing jar files in #4386.
Also installs a wrapper script that has explicit references to the
prerequisite java exe and to the jar file in it's final resting place.