From 22b6fac5b520a5e78be039e3f3518b8ca4ee7ba9 Mon Sep 17 00:00:00 2001 From: George Thomas Date: Tue, 3 Mar 2026 22:17:01 +0000 Subject: [PATCH] ditch bash script for custom setup eugh, but this requires "haskell.sessionLoading": "singleComponent" --- Setup.hs | 14 ++++++++++++++ garnet.cabal | 7 +++++++ generate-bindings | 5 ----- 3 files changed, 21 insertions(+), 5 deletions(-) create mode 100644 Setup.hs delete mode 100755 generate-bindings diff --git a/Setup.hs b/Setup.hs new file mode 100644 index 0000000..41cbd0a --- /dev/null +++ b/Setup.hs @@ -0,0 +1,14 @@ +import Distribution.Simple +import Distribution.Simple.LocalBuildInfo +import Distribution.Utils.Path +import System.Directory + +main :: IO () +main = + defaultMainWithHooks + simpleUserHooks + -- place static lib in position for bundling + { buildHook = \pkg lbi hooks flags -> do + copyFile "rust/target/debug/libgarnet_rs.a" $ getSymbolicPath (buildDir lbi) "libgarnet_rs.a" + buildHook simpleUserHooks pkg lbi hooks flags + } diff --git a/garnet.cabal b/garnet.cabal index 52f65d4..8c631eb 100644 --- a/garnet.cabal +++ b/garnet.cabal @@ -6,6 +6,13 @@ author: Patrick Aldis maintainer: george.thomas@obsidian.systems patrick.aldis@obsidian.systems +build-type: Custom + +custom-setup + setup-depends: + base, + Cabal, + directory, common common default-language: GHC2024 diff --git a/generate-bindings b/generate-bindings deleted file mode 100755 index 568e232..0000000 --- a/generate-bindings +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash -set -euo pipefail - -# place static lib in position for bundling with Cabal -cp rust/target/debug/libgarnet_rs.a $(cabal list-bin . | sed -e 's=x/garnet/build/garnet/garnet=build=g')