From 400706ad018ae7ada73ecbb7febb6635ddb43b3d Mon Sep 17 00:00:00 2001 From: ethqnol Date: Thu, 3 Sep 2026 22:42:57 -0400 Subject: [PATCH 1/2] Add polars-mojo v0.1.0 --- recipes/polars-mojo/recipe.yaml | 80 +++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 recipes/polars-mojo/recipe.yaml diff --git a/recipes/polars-mojo/recipe.yaml b/recipes/polars-mojo/recipe.yaml new file mode 100644 index 00000000..1c4a2255 --- /dev/null +++ b/recipes/polars-mojo/recipe.yaml @@ -0,0 +1,80 @@ +context: + name: polars-mojo + version: "0.1.0" + mojo_version: "=1.0.0" + +package: + name: ${{ name }} + version: ${{ version }} + +source: + - git: https://github.com/ethqnol/polars-mojo.git + rev: bd1d2a28d676f164930f9035ad1ccf18c626a04c + +build: + number: 0 + script: + - cargo build --release + - | + TARGET_DIR="target/${CARGO_BUILD_TARGET:-}/release" + if [ ! -f "$TARGET_DIR/libpolars_ffi.so" ]; then + TARGET_DIR="target/release" + fi + mkdir -p ${{ PREFIX }}/lib + cp "$TARGET_DIR/libpolars_ffi.so" ${{ PREFIX }}/lib/ + cp "$TARGET_DIR/libpolars_ffi.a" ${{ PREFIX }}/lib/ + + - mkdir -p ${{ PREFIX }}/lib/mojo + - mojo precompile molars -o ${{ PREFIX }}/lib/mojo/molars.mojoc + - cp -r molars ${{ PREFIX }}/lib/mojo/molars + + - mkdir -p ${{ PREFIX }}/etc/conda/activate.d ${{ PREFIX }}/etc/conda/deactivate.d + - | + cat << 'EOF' > ${{ PREFIX }}/etc/conda/activate.d/molars.sh + export _MOLARS_OLD_LIBRARY_PATH="${LIBRARY_PATH:-}" + export _MOLARS_OLD_LD_LIBRARY_PATH="${LD_LIBRARY_PATH:-}" + export LIBRARY_PATH="${CONDA_PREFIX}/lib${LIBRARY_PATH:+:${LIBRARY_PATH}}" + export LD_LIBRARY_PATH="${CONDA_PREFIX}/lib${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}" + EOF + - | + cat << 'EOF' > ${{ PREFIX }}/etc/conda/deactivate.d/molars.sh + if [ -n "${_MOLARS_OLD_LIBRARY_PATH+x}" ]; then + export LIBRARY_PATH="${_MOLARS_OLD_LIBRARY_PATH}" + unset _MOLARS_OLD_LIBRARY_PATH + fi + if [ -n "${_MOLARS_OLD_LD_LIBRARY_PATH+x}" ]; then + export LD_LIBRARY_PATH="${_MOLARS_OLD_LD_LIBRARY_PATH}" + unset _MOLARS_OLD_LD_LIBRARY_PATH + fi + EOF + +requirements: + build: + - ${{ compiler('c') }} + - ${{ compiler('rust') }} + host: + - mojo-compiler ${{ mojo_version }} + run: + - ${{ pin_compatible('mojo-compiler') }} + +tests: + - package_contents: + files: + - lib/libpolars_ffi.so + - lib/libpolars_ffi.a + - lib/mojo/molars.mojoc + - files: + source: + - tests/ + script: + - mojo run -I $PREFIX/lib/mojo -Xlinker -L$PREFIX/lib -Xlinker -lpolars_ffi tests/test_arrow_abi.mojo + - mojo run -I $PREFIX/lib/mojo -Xlinker -L$PREFIX/lib -Xlinker -lpolars_ffi tests/test_dataframe.mojo + +about: + homepage: https://github.com/ethqnol/polars-mojo + license: MIT + license_file: LICENSE + summary: Polars DataFrame bindings for Mojo via Arrow C Data Interface + + + From 2ac7e4319ba343557ee20d9915b4e0f2bc8688a6 Mon Sep 17 00:00:00 2001 From: ethqnol Date: Thu, 3 Sep 2026 22:46:00 -0400 Subject: [PATCH 2/2] update recipe --- recipes/polars-mojo/recipe.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipes/polars-mojo/recipe.yaml b/recipes/polars-mojo/recipe.yaml index 1c4a2255..7ace0096 100644 --- a/recipes/polars-mojo/recipe.yaml +++ b/recipes/polars-mojo/recipe.yaml @@ -9,7 +9,7 @@ package: source: - git: https://github.com/ethqnol/polars-mojo.git - rev: bd1d2a28d676f164930f9035ad1ccf18c626a04c + rev: f767f7ba56f6805365af4a4915f2d61352e8a8f8 build: number: 0 @@ -72,6 +72,7 @@ tests: about: homepage: https://github.com/ethqnol/polars-mojo + author: ethqnol # Ethan Wu license: MIT license_file: LICENSE summary: Polars DataFrame bindings for Mojo via Arrow C Data Interface