Something went wrong. Try again.
A video game where you play as a misaligned AI, deceiving and building power. An experiment in spec-driven development. forked from cameron.stream/misaligned
Something went wrong. Try again.
1.3 kB · 44 lines
Shell
at main
123456789101112131415161718192021222324252627282930313233343536373839404142434445#!/usr/bin/env bashset -euo pipefail
if [ "$#" -ne 1 ]; then echo "usage: $0 OUTPUT_ENV_FILE" >&2 exit 2fi
output=$1pcdir=/tangled/workspace/.pcmkdir -p "$pcdir"
# Nixery installs only outputsToInstall (typically out/bin), not dev# outputs. The dev outputs contain the .pc files that pkg-config needs.# Generate minimal .pc files pointing at the shared objects that are present# in the Nix store so Cargo can resolve Bevy's Linux system dependencies.gen_pc() { local pc_name="$1" lib_name="${2:-$1}" local dir for dir in /nix/store/*/lib; do if [ -f "$dir/lib${lib_name}.so" ]; then printf 'Name: %s\nDescription: %s\nVersion: 1.0\nLibs: -L%s -l%s\n' \ "$pc_name" "$pc_name" "$dir" "$lib_name" > "$pcdir/${pc_name}.pc" echo "generated ${pc_name}.pc -> $dir" return fi done echo "WARNING: lib${lib_name}.so not found in nix store" >&2}
gen_pc wayland-clientgen_pc wayland-servergen_pc wayland-cursorgen_pc xkbcommongen_pc alsa asoundgen_pc libudev udev
pkg_config_path=$pcdirfor dir in /nix/store/*/lib/pkgconfig /nix/store/*/share/pkgconfig; do [ -d "$dir" ] && pkg_config_path="$pkg_config_path:$dir"done
printf 'export PKG_CONFIG_PATH="%s"\n' "$pkg_config_path" > "$output"echo "pkg-config setup complete"