-
Notifications
You must be signed in to change notification settings - Fork 160
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DO NOT SQUASH Add PyOP2 to Firedrake repository #3817
base: master
Are you sure you want to change the base?
Conversation
Compilation: fix the compiler sniffing for apple.
…emory for the events is allocated in C.
…ython and the set the correct id in the ddl for the C kernel.
Profile local kernels and set events on dll
pass gcc dir to linker on M1
[loopycompat.Mappers]: call super's constructor
PyOP2 compilation: add a pathway to compile with gcc on Mac.
… into DataCarrier-object-versionning
Object versioning for DataCarrier object
Fix Vec's state counter for MixedDat
* Fix mistake in init * Fix code for new linting rules
Loopy caching fixes
add ComposedMap
I tested installing Firedrake using this branch on my Mac M1. I installed PETSc independently and set the PETSC_DIR and PETSC_ARCH variables. Then I ran
I needed CXXFLAGS="-std=c++11" for installing diff --git a/setup.py b/setup.py
index c0192b703..73418a6c6 100644
--- a/setup.py
+++ b/setup.py
@@ -176,7 +176,7 @@ spatialindex_ = ExternalDependency(
supermesh_dir = Path(supermesh.__path__._path[0]).absolute()
supermesh_so = next(supermesh_dir.glob('*.so'))
supermesh_ = ExternalDependency(
- libraries=[f":{supermesh_so.name!s}"],
+ libraries=[],
include_dirs=[str(supermesh_dir.joinpath("include"))],
library_dirs=[str(supermesh_dir)],
runtime_library_dirs=[os.path.join(site.getsitepackages()[0], "supermesh")] Otherwise I would get this error
although when I run the tests, libsupermesh cannot be found
|
Thanks @miguelcoolchips for trying this out! I am hoping to get access to a Mac to test this out on today (and in the near future we should have Mac CI runners as well). |
For the moment this is necessary because the pip version does not support MacOS. This can be re-added at a later date.
Totally unnecessary package since we write the information to disk anyway.
pyproject.toml
Outdated
license = {file = "LICENSE"} | ||
authors = [ | ||
{name = "The Firedrake Team", email = "[email protected]"}, | ||
{name = "Jack Betteridge", email = "[email protected]"}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Think about contact.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To not violate single source of truth we should somehow link this to https://github.com/firedrakeproject/firedrake/blob/master/docs/source/team.ini
Since we're not yet publishing this to PyPI I think this can be handled at a later point and just removed from this PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Though the team.ini
file distinguishes between further things like "active" and "inactive" core team members as well as having institutions and links. The authors
/maintainers
field in the pyproject.toml
can only store names and emails.
It might be simplest just to have all of the current core developers listed as maintainers
and to not have any authors
specified.
Co-authored-by: David A. Ham <[email protected]>
Co-authored-by: David A. Ham <[email protected]>
Description
The big merge!
Closes #3877
Key changes introduced by this PR
tests/firedrake
subdirectorypyproject.toml
pip install git+https://github.com/firedrakeproject/firedrake.git
becomes a viable install method (subject to setting a number of environment variables). This ultimately will be our path to a Firedrake wheel.firedrake_configuration
. The information is all accessible by inspecting PETSc variables.Outstanding tasks
firedrake-install
,firedrake-update
,firedrake-status
andfiredrake-clean
pass locally (these are not fully tested in the CI).git rebase -i
to try and keep a clean history.firedrake-zenodo
as PyOP2 repo is going away.Future work
pip install libsupermesh
(nearly ready to go: JDBetteridge/pip install libsupermesh#10)