Could not install from sdist with Numpy 2.0.0

it seems SharedArray is incompatible with Numpy2.0.0 with compile log attached:

× Building wheel for SharedArray (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [28 lines of output]
    running bdist_wheel
    running build
    running build_ext
    building 'SharedArray' extension
    creating build
    creating build/temp.linux-aarch64-cpython-39
    creating build/temp.linux-aarch64-cpython-39/src
    gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/tmp/pip-build-env-7kjrcqso/overlay/lib/python3.9/site-packages/numpy/_core/include -I/usr/local/include/python3.9 -c ./src/map_owner.c -o build/temp.linux-aarch64-cpython-39/./src/map_owner.o
    gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/tmp/pip-build-env-7kjrcqso/overlay/lib/python3.9/site-packages/numpy/_core/include -I/usr/local/include/python3.9 -c ./src/map_owner_mlock.c -o build/temp.linux-aarch64-cpython-39/./src/map_owner_mlock.o
    gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/tmp/pip-build-env-7kjrcqso/overlay/lib/python3.9/site-packages/numpy/_core/include -I/usr/local/include/python3.9 -c ./src/map_owner_msync.c -o build/temp.linux-aarch64-cpython-39/./src/map_owner_msync.o
    gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/tmp/pip-build-env-7kjrcqso/overlay/lib/python3.9/site-packages/numpy/_core/include -I/usr/local/include/python3.9 -c ./src/map_owner_munlock.c -o build/temp.linux-aarch64-cpython-39/./src/map_owner_munlock.o
    gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/tmp/pip-build-env-7kjrcqso/overlay/lib/python3.9/site-packages/numpy/_core/include -I/usr/local/include/python3.9 -c ./src/shared_array.c -o build/temp.linux-aarch64-cpython-39/./src/shared_array.o
    gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/tmp/pip-build-env-7kjrcqso/overlay/lib/python3.9/site-packages/numpy/_core/include -I/usr/local/include/python3.9 -c ./src/shared_array_attach.c -o build/temp.linux-aarch64-cpython-39/./src/shared_array_attach.o
    gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/tmp/pip-build-env-7kjrcqso/overlay/lib/python3.9/site-packages/numpy/_core/include -I/usr/local/include/python3.9 -c ./src/shared_array_create.c -o build/temp.linux-aarch64-cpython-39/./src/shared_array_create.o
    ./src/shared_array_create.c: In function 'do_create':
    ./src/shared_array_create.c:58:11: error: 'PyArray_Descr' {aka 'struct _PyArray_Descr'} has no member named 'elsize'
       58 |  if (dtype->elsize == 0) {
          |           ^~
    ./src/shared_array_create.c:65:14: error: 'PyArray_Descr' {aka 'struct _PyArray_Descr'} has no member named 'elsize'
       65 |  size = dtype->elsize;
          |              ^~
    ./src/shared_array_create.c:101:24: error: 'PyArray_Descr' {aka 'struct _PyArray_Descr'} has no member named 'elsize'
      101 |  meta->itemsize = dtype->elsize;
          |                        ^~
    ./src/shared_array_create.c:115:43: error: 'PyArray_Descr' {aka 'struct _PyArray_Descr'} has no member named 'elsize'
      115 |                      NULL, map_addr, dtype->elsize,
          |                                           ^~

https://numpy.org/devdocs/numpy_2_0_migration_guide.html#the-pyarray-descr-struct-has-been-changed