Skip to content

Overhaul certain spack packages#33564

Closed
johnwparent wants to merge 37 commits intospack:developfrom
johnwparent:win-port-vtk
Closed

Overhaul certain spack packages#33564
johnwparent wants to merge 37 commits intospack:developfrom
johnwparent:win-port-vtk

Conversation

@johnwparent
Copy link
Copy Markdown
Contributor

@johnwparent johnwparent commented Oct 27, 2022

This PR ports adds Windows support to a number of packages and ports a number of packages to use the recent builder system merged in by #30738

This PR also adds two new builders NMakefiles and MSBuild

You may also note that all of these packages are dependencies of Paraview/VTK. This is not a coincidence as this PR is part of a larger effort to support those two packages on Windows.

This PR ports:
Python - to multibuild system
Perl - to multibuild system
adios2 - to Windows and multibuild system
c-blosc - to Windows and multibuild system
double-conversion - to multibuild system
eigen - to multibuild system
expat - to Windows and multibuild system
freetype - to multibuild system
jsoncpp - to multibuild system
libjpeg-turbo - to multibuild system
libogg - to Windows and multibuild system
libpng - to multibuild system
libtheora - to Windows and multibuild system
libxml2 - to Windows and multibuild system
lz4 - to Windows and multibuild system
netcdf-cxx - to multibuild system
netcdf-c - to Windows and multibuild system
pegtl - to Windows and multibuild system
proj - to Windows and multibuild system
protobuf - to Windows and multibuild system
snappy - to Windows and multibuild system
winlibiconv - created a new package to provide libiconv on Windows
xz - to Windows and multibuild system
zfp - to Windows and multibuild system
zstd - to Windows and multibuild system

This pr depends on #31141 and #33021

@spackbot-app
Copy link
Copy Markdown

spackbot-app bot commented Oct 27, 2022

Hi @johnwparent! I noticed that the following package(s) don't yet have maintainers:

  • expat
  • libiconv
  • libjpeg-turbo
  • libogg
  • libpng
  • libtheora
  • libxml2
  • lz4
  • netcdf-cxx
  • opengl
  • perl
  • protobuf
  • winlibiconv
  • xz

Are you interested in adopting any of these package(s)? If so, simply add the following to the package class:

    maintainers = ["johnwparent"]

If not, could you contact the developers of this package and see if they are interested? You can quickly see who has worked on a package with spack blame:

$ spack blame expat

Thank you for your help! Please don't add maintainers without their consent.

You don't have to be a Spack expert or package developer in order to be a "maintainer," it just gives us a list of users willing to review PRs or debug issues relating to this package. A package can have multiple maintainers; just add a list of GitHub handles of anyone who wants to volunteer.

Copy link
Copy Markdown
Member

@adamjstewart adamjstewart left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be helpful if each of these packages were changed in separate PRs since each change doesn't require other changes.

@johnwparent johnwparent changed the title Win Port Paraview Overhaul Packages Nov 2, 2022
@johnwparent johnwparent changed the title Overhaul Packages Overhaul certain spack packages Nov 2, 2022
@johnwparent johnwparent marked this pull request as ready for review November 2, 2022 21:54
@johnwparent
Copy link
Copy Markdown
Contributor Author

@alalazo I've used your PR to port/refactor a number of packages. If you have a second I'd appreciate a review just to be sure I'm using this new functionality as optimally as possible.

@johnwparent johnwparent requested a review from alalazo November 2, 2022 22:05
@adamjstewart
Copy link
Copy Markdown
Member

Can you split this PR into separate PRs for each package? Most of these changes are independent of each other, and it's really hard to properly review PRs that modify dozens of packages.

turbo
fixup libxml

better libxml2

Modernize libxml2

libxml2 - multi build system

update libxml2

update libxml2

libxml2 proper pkgconf dep

libxml2 correct nmake import
Split iconv phases

winlibiconv - multi build system

Update libiconv and winlibiconv

winlibiconv generic builder
Finalize adios2

adios2 style

update adios2
protobuf - multi build system

Fixup protobuf

style protobuf

update protobuf
Update perls new builders

style perl

Perl: Factor out common setup logic

Factor common setup logic accross Windows/Posix to be in one class
Perl invalid ref fix

perl: correct nmake import
update python

update python

Finish python package scoping

Python style
Add default gl provider

Prevent apple-gl on Windows platform

Improve WGL headers/libs detection
NetCDF-C patches

Fixup netcdf HDF5+zlib detection

Netcdf's cmake is unable to detect that HDF5 was compiled with zlib
Add a patch that allows for said detection

netcdf-c patch ill formed cmakelists

Add netcdf linker patch
@johnwparent
Copy link
Copy Markdown
Contributor Author

Closed in favor of multiple smaller PRs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Closed

Development

Successfully merging this pull request may close these issues.

4 participants