#65123 closed defect (fixed)
gmic: @3.1.0: C++ library support no longer included in port
Reported by: | mascguy (Christopher Nielsen) | Owned by: | Schamschula (Marius Schamschula) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.7.2 |
Keywords: | Cc: | ||
Port: | gmic |
Description
With the update of this port to 3.1.0, the C++ library is no longer being provided. This breaks dependents like darktable
and others, which utilize it.
Instead, the port is now generating the CLI component only, via the use of build target cli
. (Previously the port was using the default - all
- which is what we probably want.)
Furthermore, for the gmic-clib
subport, a symlink is now being created for the C++ dylib name - libgmic.dylib
- resolving to the C API's dylib. And that's not going to work, as the contents of the C++ dylib are fundamentally different from the C version.
Please fix ASAP, as dependents are completely broken now.
Change History (7)
comment:1 Changed 3 years ago by Schamschula (Marius Schamschula)
comment:2 Changed 3 years ago by Schamschula (Marius Schamschula)
I think I have a plan: I added a gmic-lib
subport. gmic
cleanly built against it (w/o the gmic-clib kludge). Currently rebuilding gmic-clib
, gmic-qt
and gmic-gimp
.
comment:3 Changed 3 years ago by Schamschula (Marius Schamschula)
comment:4 Changed 3 years ago by mascguy (Christopher Nielsen)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Looks great. Thanks so much for the quick fix Marius!
comment:5 Changed 3 years ago by mascguy (Christopher Nielsen)
Marius, there's just one minor issue, which may result in users filing new Trac tickets: When upgrading from an earlier release, gmic-lib
will fail to activate. That's because the C++ lib components used to be provided by the base port, and subport gmic-lib
will be installed before the base port is updated.
So in short, to avoid issues, users will need to do the following:
$ sudo bash -c 'port -f deactivate gmic ; port -N upgrade gmic`
Thankfully this will only be a one-time thing, but something to be aware of.
Thoughts?
comment:6 Changed 3 years ago by Schamschula (Marius Schamschula)
There actually is the deactivate hack
for that.
I didn't see it, as I already had to deactivate the original revision to get clean builds.
I wish I could! Upstream reverted from cmake to Makefile, and the needed functionality is gone.
I spent a whole day rebuilding gmic to get the current sub-ports to build.
I'll see what other options there are in the Makefile.