mirror of
https://github.com/ghostty-org/ghostty.git
synced 2026-05-24 05:40:15 +00:00
libghostty-vt: emit resolved include/lib dirs in .pc files
`${prefix}/include` and `${prefix}/lib` are wrong under split-prefix installs (e.g. Nix multi-output).
Use `b.h_dir` / `b.lib_dir` instead and drop the unneeded Nix postInstall/postFixup hooks.
Co-Authored-By: Sander <hey@sandydoo.me>
This commit is contained in:
@@ -59,6 +59,9 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
"-Dapp-runtime=none"
|
||||
"-Demit-lib-vt=true"
|
||||
"-Dsimd=${lib.boolToString simd}"
|
||||
# Install headers directly into the `dev` output
|
||||
"--prefix-include-dir"
|
||||
"${placeholder "dev"}/include"
|
||||
];
|
||||
zigCheckFlags = finalAttrs.zigBuildFlags ++ ["test-lib-vt"];
|
||||
|
||||
@@ -69,17 +72,10 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p "$dev/lib"
|
||||
mv "$out/lib/libghostty-vt.a" "$dev/lib"
|
||||
rm "$out/lib/libghostty-vt.so"
|
||||
mv "$out/include" "$dev"
|
||||
mv "$out/share" "$dev"
|
||||
|
||||
ln -sf "$out/lib/libghostty-vt.so.${lib.versions.major finalAttrs.version}" "$dev/lib/libghostty-vt.so"
|
||||
mv "$out/lib/libghostty-vt.a" "$dev/lib/"
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
substituteInPlace "$dev/share/pkgconfig/libghostty-vt.pc" \
|
||||
--replace-fail "$out" "$dev"
|
||||
substituteInPlace "$dev/share/pkgconfig/libghostty-vt-static.pc" \
|
||||
--replace-fail "$out" "$dev"
|
||||
'';
|
||||
@@ -128,8 +124,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
runHook preBuildHooks
|
||||
|
||||
cc -o test test_libghostty_vt.c \
|
||||
''$(pkg-config --cflags --libs libghostty-vt) \
|
||||
-Wl,-rpath,"${finalAttrs.finalPackage}/lib"
|
||||
''$(pkg-config --cflags --libs libghostty-vt)
|
||||
|
||||
runHook postBuildHooks
|
||||
'';
|
||||
@@ -207,8 +202,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
runHook preBuildHooks
|
||||
|
||||
cc -o test main.c \
|
||||
''$(pkg-config --cflags --libs libghostty-vt) \
|
||||
-Wl,-rpath,"${finalAttrs.finalPackage}/lib"
|
||||
''$(pkg-config --cflags --libs libghostty-vt)
|
||||
|
||||
runHook postBuildHooks
|
||||
'';
|
||||
|
||||
@@ -371,8 +371,8 @@ fn pkgConfigFiles(
|
||||
return .{
|
||||
.shared = wf.add("libghostty-vt.pc", b.fmt(
|
||||
\\prefix={s}
|
||||
\\includedir=${{prefix}}/include
|
||||
\\libdir=${{prefix}}/lib
|
||||
\\includedir={s}
|
||||
\\libdir={s}
|
||||
\\
|
||||
\\Name: libghostty-vt
|
||||
\\URL: https://github.com/ghostty-org/ghostty
|
||||
@@ -382,11 +382,18 @@ fn pkgConfigFiles(
|
||||
\\Libs: -L${{libdir}} -lghostty-vt
|
||||
\\Libs.private: {s}
|
||||
\\Requires.private: {s}
|
||||
, .{ b.install_prefix, zig.version, libs_private, requires_private })),
|
||||
, .{
|
||||
b.install_prefix,
|
||||
b.h_dir,
|
||||
b.lib_dir,
|
||||
zig.version,
|
||||
libs_private,
|
||||
requires_private,
|
||||
})),
|
||||
.static = wf.add("libghostty-vt-static.pc", b.fmt(
|
||||
\\prefix={s}
|
||||
\\includedir=${{prefix}}/include
|
||||
\\libdir=${{prefix}}/lib
|
||||
\\includedir={s}
|
||||
\\libdir={s}
|
||||
\\
|
||||
\\Name: libghostty-vt-static
|
||||
\\URL: https://github.com/ghostty-org/ghostty
|
||||
@@ -398,6 +405,8 @@ fn pkgConfigFiles(
|
||||
\\Requires.private: {s}
|
||||
, .{
|
||||
b.install_prefix,
|
||||
b.h_dir,
|
||||
b.lib_dir,
|
||||
zig.version,
|
||||
staticLibraryName(os_tag),
|
||||
libs_private,
|
||||
|
||||
Reference in New Issue
Block a user