~ruther/guix-local

c95e817bb986c49fd0d2a8896c2e63782f05a7f7 — Morgan Smith 3 years ago 3b4a31d
gnu: libfive: Generate bindings instead of using pre-generated ones.

* gnu/packages/engineering.scm (libfive)[phases]: Add phase 'generate-bindings
to generate the bindings

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
1 files changed, 10 insertions(+), 0 deletions(-)

M gnu/packages/engineering.scm
M gnu/packages/engineering.scm => gnu/packages/engineering.scm +10 -0
@@ 941,6 941,16 @@ fonts to gEDA.")
                (substitute* "libfive/bind/python/libfive/ffi.py"
                  (("os.environ.get\\('LIBFIVE_FRAMEWORK_DIR'\\)" m)
                   (string-append m " or \"" #$output "/lib/\"")))))
            (add-before 'build 'generate-bindings
              (lambda _
                ;; These files already exist but we regenerate them from source
                (with-directory-excursion "../source/libfive/stdlib"
                  (substitute* '("gen_scm.py" "gen_c.py" "gen_py.py")
                    (("datetime.now\\(\\)\\.strftime\\([^)]+)") "\"N/A\"")
                    (("os\\.getlogin\\(\\)") "\"guix\""))
                  (invoke "python" "gen_scm.py")
                  (invoke "python" "gen_c.py")
                  (invoke "python" "gen_py.py"))))
            (add-after 'unpack 'do-not-build-guile-bindings
              (lambda _
                (delete-file "libfive/bind/guile/CMakeLists.txt")