(Breaking this off of GitHub as it seems the scope may change) For some context:
Here's the fontconfig ticket where they give some background on where libuuid comes from on MacOS X: https://bugs.freedesktop.org/show_bug.cgi?id=105366 It looks like Debian installs libossp-uuid.so[0] and /usr/include/ossp/uuid.h[1]. Their libuuid comes from what appears to be yet another package called util-linux which gets installed in libuuid.so[2] and /usr/include/uuid/uuid.h[3]. [0] https://packages.debian.org/sid/amd64/libossp-uuid16/filelist [1] https://packages.debian.org/sid/amd64/libossp-uuid-dev/filelist [2] https://packages.debian.org/sid/amd64/libuuid1/filelist [3] https://packages.debian.org/sid/amd64/uuid-dev/filelist On Fri, May 15, 2020 at 4:49 AM Ryan Schmidt <[email protected]> wrote: > One could patch fontconfig: wherever it does #include <uuid/uuid.h> it could > be changed to #include </usr/include/uuid/uuid.h>. I did not try this, so correct me if my understanding is wrong, but wouldn't you have to do this at both compile time (this patch) and link time (make sure -l/usr/lib/libSystem.B.dylib comes before -L/opt/local/lib)? Sounds possible but easy to screw up so I didn't try it. > (Surely using the port is in some way better than using the macOS version? > Otherwise why would we have the port?) Oh boy, you've opened the can of worms here. Taking a look at MacPorts libuuid (SourceForge libuuid), it looks like it's on a fork of util-linux that hasn't been changed in years and years. I don't think libuuids are a hotspot of development but SourceForge libuuid hasn't been touched in six years and at least in util-linux they're doing minor fixes like this commit from March 2020[0] that improves performance of uuid_unparse(). [0] https://github.com/karelzak/util-linux/commit/2f81213e269655728bc7971cbc09d5db20e2b855#diff-a48ff6450eac6f2f16369c5f64f9cb78 > I have long wanted to switch everything that's using ossp-uuid over to using > the libuuid port, on the basis that libuuid is what Linux uses so it makes it > easier to get Linux software working in MacPorts. My proposal: 1 Delete MacPorts/SourceForge libuuid. 2 Add a subport of util-linux called libuuid that only compiles libuuid. 3 Revbump the universe that depends on libuuid to see how they work with util-linux libuuid. 4 Revbump the universe that depends on ossp-uuid to see if they'll work with util-linux libuuid. I suspect you'll see a lot of these go away. 5 Install MacPorts ossp-uuid in ${prefix}/ossp/ and libossp-uuid.dylib. 6 The remaining ports on ossp-uuid get patched to handle the new name. I think I can do 1-3 in a PR, 4 in its own PR, and 5-6 in its own PR to make this not quite as intimidating. -- David Gilman :DG<
