You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
pwndbg/nix/bundle/bundle-macos.sh

72 lines
1.7 KiB
Bash

#!/usr/bin/env bash
# Original file copied from https://github.com/3noch/nix-bundle-exe
# But it was modified/patched for pwndbg usecase!
set -euo pipefail
echo "darwin is not supported TODO, https://github.com/3noch/nix-bundle-exe/blob/main/bundle-macos.sh"
exit 1
#
#out="$1"
#binary="$2"
#
#: "${bin_dir:-}"
#: "${lib_dir:-}"
#
## Converts paths like "folder/bin" to "../.."
#relative_bin_to_lib=$(echo -n "$bin_dir" | sed 's|[^/]*|..|g')
#
#mkdir -p "$out/$bin_dir" "$out/$lib_dir"
#
#clean_path() {
# echo -n "$1" | sed 's#//*#/#g'
#}
#
#printNeeded() {
# otool -L "$1" | tail -n +2 | grep '/nix/store/' | cut -d '(' -f -1
#}
#
#finalizeBin() {
# nuke-refs "$1"
# codesign -f -s - "$1" || true
#}
#
#bundleBin() {
# local file="$1"
# local file_type="$2"
#
# local real_file
# real_file=$(realpath "$file")
# local install_dir="$out/$lib_dir"
# local rpath_prefix="@loader_path"
# if [ "$file_type" == "exe" ]; then
# install_dir="$out/$bin_dir"
# rpath_prefix=$(clean_path "@executable_path/$relative_bin_to_lib/$lib_dir")
# fi
#
# local copied_file
# copied_file="$install_dir/$(basename "$real_file")"
# if [ -f "$copied_file" ]; then
# return
# fi
#
# echo "Bundling $real_file to $install_dir"
# cp "$real_file" "$copied_file"
# chmod +w "$copied_file"
#
# local linked_libs
# linked_libs=$(printNeeded "$real_file" || true)
# for linked_lib in $linked_libs; do
# local real_lib
# real_lib=$(realpath "$linked_lib")
# local real_lib_name
# real_lib_name=$(basename "$real_lib")
# install_name_tool -change "$linked_lib" "$rpath_prefix/$real_lib_name" "$copied_file"
# bundleBin "$real_lib" "lib"
# done
#
# finalizeBin "$copied_file"
#}
#
#bundleBin "$binary" "exe"