Skip to content

Commit

Permalink
Ports: Make sed work on macOS
Browse files Browse the repository at this point in the history
The ports `libvorbis`, `readline` and `timidity` would not install on
macOS as a result of using `sed -i` without an extension provided. GNU
sed is available through Homebrew, but it does not replace `sed` by
default.

Instead, provide a new `sed_in_place` function that calls `sed` with the
right arguments.
  • Loading branch information
gmta authored and linusg committed Jan 9, 2023
1 parent 3110f5b commit 7c2976e
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 3 deletions.
8 changes: 8 additions & 0 deletions Ports/.port_include.sh
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,14 @@ run_replace_in_file() {
fi
}

sed_in_place() {
if [ "$(uname -s)" = "Darwin" ]; then
sed -i '' "${@}"
else
sed -i "${@}"
fi
}

get_new_config_sub() {
config_sub="${1:-config.sub}"
if [ ! -f "$workdir/$config_sub" ]; then
Expand Down
2 changes: 1 addition & 1 deletion Ports/libvorbis/package.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,5 @@ depends=("libogg")
post_install() {
# Fix up broken libtool paths
# FIXME: apply a proper libtool fix
sed -i "s# /usr/local# ${SERENITY_INSTALL_ROOT}/usr/local#g" "${SERENITY_INSTALL_ROOT}"/usr/local/lib/libvorbis*.la
sed_in_place "s# /usr/local# ${SERENITY_INSTALL_ROOT}/usr/local#g" "${SERENITY_INSTALL_ROOT}"/usr/local/lib/libvorbis*.la
}
2 changes: 1 addition & 1 deletion Ports/readline/package.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,5 @@ configopts=(
post_install() {
# readline specifies termcap as a dependency in its pkgconfig file, without checking if it exists.
# Remove it manually to keep other ports from discarding readline because termcap is supposedly missing.
sed -i -e '/^Requires.private:/s/termcap//' "${SERENITY_INSTALL_ROOT}/usr/local/lib/pkgconfig/readline.pc"
sed_in_place '/^Requires.private:/s/termcap//' "${SERENITY_INSTALL_ROOT}/usr/local/lib/pkgconfig/readline.pc"
}
2 changes: 1 addition & 1 deletion Ports/timidity/package.sh
Original file line number Diff line number Diff line change
Expand Up @@ -32,5 +32,5 @@ post_install() {
timidity_cfg_path="${SERENITY_INSTALL_ROOT}/etc/timidity.cfg"
mkdir -p "$(dirname ${timidity_cfg_path})"
cp "${eaw_pats_host_dir}/timidity.cfg" "${timidity_cfg_path}"
sed -i "s#^dir .*#dir ${eaw_pats_dir}#g" "${timidity_cfg_path}"
sed_in_place "s#^dir .*#dir ${eaw_pats_dir}#g" "${timidity_cfg_path}"
}

0 comments on commit 7c2976e

Please sign in to comment.