@@ -97,27 +97,43 @@ stdenv.mkDerivation (finalAttrs: {
97
97
'' }
98
98
'' ;
99
99
100
- postInstall = ''
100
+ postInstall = ''
101
101
# Move the redirected to proper directory.
102
102
# There appear to be no references to the install directories
103
103
# so changing them does not cause issues.
104
104
mv "$out/nix/store"/*/* "$out"
105
105
rmdir "$out/nix/store"/* "$out/nix/store" "$out/nix"
106
- mv "$out/lib/plv8-${ finalAttrs . version } .so" "$out/lib/plv8.so"
107
- ln -s "$out/lib/plv8.so" "$out/lib/plv8-${ finalAttrs . version } .so"
108
- sed -i 's|module_pathname = '"'"'$libdir/plv8-[0-9.]*'"'"'|module_pathname = '"'"'$libdir/plv8'"'"'|' "$out/share/postgresql/extension/plv8.control"
109
- sed -i 's|module_pathname = '"'"'$libdir/plv8-[0-9.]*'"'"'|module_pathname = '"'"'$libdir/plv8'"'"'|' "$out/share/postgresql/extension/plcoffee.control"
110
- sed -i 's|module_pathname = '"'"'$libdir/plv8-[0-9.]*'"'"'|module_pathname = '"'"'$libdir/plv8'"'"'|' "$out/share/postgresql/extension/plls.control"
111
- ${ lib . optionalString stdenv . isDarwin ''
112
- install_name_tool -add_rpath "${ v8 } /lib" $out/lib/plv8-${ finalAttrs . version } ${ postgresql . dlSuffix }
113
- install_name_tool -add_rpath "${ postgresql } /lib" $out/lib/plv8-${ finalAttrs . version } ${ postgresql . dlSuffix }
114
- install_name_tool -add_rpath "${ stdenv . cc . cc . lib } /lib" $out/lib/plv8-${ finalAttrs . version } ${ postgresql . dlSuffix }
115
- install_name_tool -change @rpath/libv8_monolith.dylib ${ v8 } /lib/libv8_monolith.dylib $out/lib/plv8-${ finalAttrs . version } ${ postgresql . dlSuffix }
116
- '' }
117
106
118
- ${ lib . optionalString ( ! stdenv . isDarwin ) ''
119
- ${ patchelf } /bin/patchelf --set-rpath "${ v8 } /lib:${ postgresql } /lib:${ stdenv . cc . cc . lib } /lib" $out/lib/plv8-${ finalAttrs . version } ${ postgresql . dlSuffix }
120
- '' }
107
+ # Handle different PostgreSQL versions
108
+ if [ "${ lib . versions . major postgresql . version } " = "15" ]; then
109
+ mv "$out/lib/plv8-${ finalAttrs . version } .so" "$out/lib/plv8.so"
110
+ ln -s "$out/lib/plv8.so" "$out/lib/plv8-${ finalAttrs . version } .so"
111
+ sed -i 's|module_pathname = '"'"'$libdir/plv8-[0-9.]*'"'"'|module_pathname = '"'"'$libdir/plv8'"'"'|' "$out/share/postgresql/extension/plv8.control"
112
+ sed -i 's|module_pathname = '"'"'$libdir/plv8-[0-9.]*'"'"'|module_pathname = '"'"'$libdir/plv8'"'"'|' "$out/share/postgresql/extension/plcoffee.control"
113
+ sed -i 's|module_pathname = '"'"'$libdir/plv8-[0-9.]*'"'"'|module_pathname = '"'"'$libdir/plv8'"'"'|' "$out/share/postgresql/extension/plls.control"
114
+
115
+ ${ lib . optionalString stdenv . isDarwin ''
116
+ install_name_tool -add_rpath "${ v8 } /lib" $out/lib/plv8.so
117
+ install_name_tool -add_rpath "${ postgresql } /lib" $out/lib/plv8.so
118
+ install_name_tool -add_rpath "${ stdenv . cc . cc . lib } /lib" $out/lib/plv8.so
119
+ install_name_tool -change @rpath/libv8_monolith.dylib ${ v8 } /lib/libv8_monolith.dylib $out/lib/plv8.so
120
+ '' }
121
+
122
+ ${ lib . optionalString ( ! stdenv . isDarwin ) ''
123
+ ${ patchelf } /bin/patchelf --set-rpath "${ v8 } /lib:${ postgresql } /lib:${ stdenv . cc . cc . lib } /lib" $out/lib/plv8.so
124
+ '' }
125
+ else
126
+ ${ lib . optionalString stdenv . isDarwin ''
127
+ install_name_tool -add_rpath "${ v8 } /lib" $out/lib/plv8-${ finalAttrs . version } ${ postgresql . dlSuffix }
128
+ install_name_tool -add_rpath "${ postgresql } /lib" $out/lib/plv8-${ finalAttrs . version } ${ postgresql . dlSuffix }
129
+ install_name_tool -add_rpath "${ stdenv . cc . cc . lib } /lib" $out/lib/plv8-${ finalAttrs . version } ${ postgresql . dlSuffix }
130
+ install_name_tool -change @rpath/libv8_monolith.dylib ${ v8 } /lib/libv8_monolith.dylib $out/lib/plv8-${ finalAttrs . version } ${ postgresql . dlSuffix }
131
+ '' }
132
+
133
+ ${ lib . optionalString ( ! stdenv . isDarwin ) ''
134
+ ${ patchelf } /bin/patchelf --set-rpath "${ v8 } /lib:${ postgresql } /lib:${ stdenv . cc . cc . lib } /lib" $out/lib/plv8-${ finalAttrs . version } ${ postgresql . dlSuffix }
135
+ '' }
136
+ fi
121
137
'' ;
122
138
123
139
meta = with lib ; {
0 commit comments