joachifm / cl-webkit

A binding to WebKitGTK+ for Common Lisp
MIT License
53 stars 16 forks source link

init: List version .so first. #73

Closed Ambrevar closed 1 year ago

Ambrevar commented 1 year ago

The purpose of this patch is to fix the loading of cl-webkit on distros like Fedora or Suse on which the "devel" package wasn't installed.

@https://github.com/bubbleguuum what do you think of this solution? Note that if you want the same for libfixposix, you'll have to ask https://github.com/sionescu/libfixposix.

CC @aartaka @jmercouris @aadcg

Ambrevar commented 1 year ago

Discussion for reference: https://github.com/atlas-engineer/nyxt/issues/3043

jmercouris commented 1 year ago

I still think this is something that Fedora et al need to patch in their packaging, but whatever.

aadcg commented 1 year ago

I second @jmercouris since each distribution has their own take on maintenance. Ideally, I think we should only leave libwebkit2gtk-4.1.so since running old WebKitGTK versions is a security threat and each distribution may have to patch it anyway.

For instance, on Guix, notice the chain of pointers.

  lrwxrwxrwx 1 root root  22 Jan  1  1970 libwebkit2gtk-4.1.so -> libwebkit2gtk-4.1.so.0
  lrwxrwxrwx 1 root root  26 Jan  1  1970 libwebkit2gtk-4.1.so.0 -> libwebkit2gtk-4.1.so.0.8.3
  -r-xr-xr-x 2 root root 74M Jan  1  1970 libwebkit2gtk-4.1.so.0.8.3
aartaka commented 1 year ago

I second jmercouris since each distribution has their own take on maintenance.

This point I'm uneasy about. If we can reduce the porting effort ( given that Lisp is quite foreign to the upstream packagers) via some safe drop-in solution—especially if all it takes us is one additional line—then why not add it?

Ideally, I think we should only leave libwebkit2gtk-4.1.so since running old WebKitGTK versions is a security threat and each distribution may have to patch it anyway.

I gravitate towards the security point, but e.g. MacPorts has an old WebKit version, which it would be nice to have.

Still, it doesn't influence the convenience idea. So if we have recent logand distro-specific libraries listed, it would be both convenient and secure. And, given that the recent/distro-specific intersection is small, we'll likely get even less lines that we already have.

aadcg commented 1 year ago

This point I'm uneasy about. If we can reduce the porting effort ( given that Lisp is quite foreign to the upstream packagers) via some safe drop-in solution—especially if all it takes us is one additional line—then why not add it?

I think I agree with this view. The additional line doesn't hurt. This change would save us from a trivial patch on Flathub. It seems to be common practice to list versioned shared objects.

I'd tweak this PR slightly nonetheless. I'll push a commit.