This will help us improve support for memory management in a couple of future PRs. This current PR is intended to produce no user-detectable behavior changes.
BACKEND track pyproxy creation in python2js. This will help us improve support for memory management in a couple of future PRs. This current PR is intended to produce no user-detectable behavior changes.
package:
  name: CLAPACK
  version: 3.2.1

source:
  sha256: 6dc4c382164beec8aaed8fd2acc36ad24232c406eda6db462bd4c41d5e455fac
  url: http://www.netlib.org/clapack/clapack.tgz
  extract_dir: CLAPACK-3.2.1
  patches:
    - patches/0001-add-missing-import.patch
    - patches/0002-fix-arith-h.patch
    - patches/0003-lapack-install-make.patch
    - patches/0004-fix-f2clibs-build.patch
    - patches/0005-remove-redundant-symbols.patch
    - patches/0006-correct-return-types.patch
  extras:
    - [make.inc, make.inc]

build:
  sharedlibrary: true
  script: |
    # The archive's contents have default permission 0750. If we use docker
    # to build, then we will not own the contents in the host, which means
    # we cannot navigate into the folder. Setting it to 0750 makes it
    # easier to debug.
    chmod -R o+rx .

    # In CLAPACK's Makefiles, some commands are mistakenly (?) hardcoded
    # instead of using the right variables
    sed -i 's/^	-ranlib /^	$(RANLIB)/' **/Makefile
    sed -i 's/^	ar /^	$(ARCH)/' **/Makefile
    sed -i 's/^	ld /^	$(LD)/' **/Makefile

    # We build BLAS/LAPACK only for target.
    # On host we include -LCLAPACK-3.2.1 path which has no effect on host.
    # On target it gets rewritten by pywasmcross to the full patch of
    # blas_WA.a, lapack_WA.a which are linked statically in scipy
    # in each module that needs them.
    emmake make -j ${PYODIDE_JOBS:-3} blaslib lapacklib
    mkdir -p install/lib
    emcc blas_WA.a  lapack_WA.a F2CLIBS/libf2c.a -sSIDE_MODULE -sEMULATE_FUNCTION_POINTER_CASTS -s BINARYEN_EXTRA_PASSES="--pass-arg=max-func-params@61" -o install/lib/clapack_all.so 

package:
  name: CLAPACK
  version: 3.2.1

source:
  sha256: 6dc4c382164beec8aaed8fd2acc36ad24232c406eda6db462bd4c41d5e455fac
  url: http://www.netlib.org/clapack/clapack.tgz
  extract_dir: CLAPACK-3.2.1
  patches:
    - patches/0001-add-missing-import.patch
    - patches/0002-fix-arith-h.patch
    - patches/0003-lapack-install-make.patch
    - patches/0004-fix-f2clibs-build.patch
    - patches/0005-remove-redundant-symbols.patch
    - patches/0006-correct-return-types.patch
  extras:
    - [make.inc, make.inc]

build:
  sharedlibrary: true
  script: |
    # The archive's contents have default permission 0750. If we use docker
    # to build, then we will not own the contents in the host, which means
    # we cannot navigate into the folder. Setting it to 0750 makes it
    # easier to debug.
    chmod -R o+rx .

    # In CLAPACK's Makefiles, some commands are mistakenly (?) hardcoded
    # instead of using the right variables
    sed -i 's/^	-ranlib /^	$(RANLIB)/' **/Makefile
    sed -i 's/^	ar /^	$(ARCH)/' **/Makefile
    sed -i 's/^	ld /^	$(LD)/' **/Makefile

    # We build BLAS/LAPACK only for target.
    # On host we include -LCLAPACK-3.2.1 path which has no effect on host.
    # On target it gets rewritten by pywasmcross to the full patch of
    # blas_WA.a, lapack_WA.a which are linked statically in scipy
    # in each module that needs them.
    emmake make -j ${PYODIDE_JOBS:-3} blaslib lapacklib
    mkdir -p install/lib
    emcc blas_WA.a  lapack_WA.a F2CLIBS/libf2c.a -sSIDE_MODULE -sEMULATE_FUNCTION_POINTER_CASTS -s BINARYEN_EXTRA_PASSES="--pass-arg=max-func-params@61" -o install/lib/clapack_all.so 
