From 9a86e2e97fd91003ee089dc0fed35d848e84d0f1 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 15 Jun 2023 16:59:23 +0200 Subject: gnu: fenics: Make sure 'jit.py' can find 'dolfin.pc'. * gnu/packages/simulation.scm (fenics)[inputs]: Move PYTHON-PKGCONFIG to... [propagated-inputs]: ... here. [arguments]: Add 'set-dolfin-pc-file-name' phase. --- gnu/packages/simulation.scm | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'gnu/packages/simulation.scm') diff --git a/gnu/packages/simulation.scm b/gnu/packages/simulation.scm index 059be5a2be..9eeb57babe 100644 --- a/gnu/packages/simulation.scm +++ b/gnu/packages/simulation.scm @@ -716,12 +716,14 @@ user interface to the FEniCS core components and external libraries.") ("ply" ,python-ply) ("pytest" ,python-pytest) ("python-decorator" ,python-decorator) - ("python-pkgconfig" ,python-pkgconfig) ,@(package-native-inputs fenics-dolfin))) (propagated-inputs `(("dolfin" ,fenics-dolfin) ("petsc4py" ,python-petsc4py) - ("slepc4py" ,python-slepc4py))) + ("slepc4py" ,python-slepc4py) + + ;; 'dolfin/jit/jit.py' parses 'dolfin.pc' at run time. + ("python-pkgconfig" ,python-pkgconfig))) (arguments `(#:phases (modify-phases %standard-phases @@ -729,6 +731,15 @@ user interface to the FEniCS core components and external libraries.") (lambda _ (substitute* "python/setup.py" (("pybind11==") "pybind11>=")))) + (add-after 'unpack 'set-dolfin-pc-file-name + (lambda* (#:key inputs #:allow-other-keys) + ;; Instead of cluttering the user's 'PKG_CONFIG_PATH' environment + ;; variable, hard-code the 'dolfin.pc' absolute file name. + (let ((pc-file (search-input-file inputs + "/lib/pkgconfig/dolfin.pc"))) + (substitute* "python/dolfin/jit/jit.py" + (("pkgconfig\\.parse\\(\"dolfin\"\\)") + (string-append "pkgconfig.parse(\"" pc-file "\")")))))) (add-after 'patch-source-shebangs 'set-paths (lambda _ ;; Define paths to store locations. -- cgit 1.4.1