Opened 4 years ago

Last modified 4 months ago

#62755 assigned defect

digikam: update to 8.4.0

Reported by: mascguy (Christopher Nielsen) Owned by: cgilles (HumanDynamo)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: RJVB (René Bertin), cjones051073 (Chris Jones), contextnerror
Port: digikam

Description

It looks like our Digikam port is a few major releases behind. And it's also failing to build across-the-board on our buildbots.

Let's update to the latest release, if possible.

Change History (7)

comment:1 Changed 4 years ago by mascguy (Christopher Nielsen)

According to rumors, Rene may have a working Digikam 7.1.0 port already... ;-)

comment:2 Changed 4 years ago by RJVB (René Bertin)

Much easier said than done, alas. At least the way I build and install my KF5 stuff but even if I didn't try to get feature parity with Linux builds there would still be a sh*load of dependencies to introduce first. Here's a pruned list allowing to focus on non-existant ports (kf5-*):

The following ports are dependencies of kf5-digikam @7.1.0_0+langselect+qt5kde:
  xz
  pkgconfig
  cmake
  kde-extra-cmake-modules
  kf5-kdoctools
    kf5-ki18n
      python27
      qt5-kde
    kf5-karchive
  flex
  qt5-webkit
  kf5-libkipi
    kf5-kconfig
    kf5-kservice
      kf5-kcoreaddons
        shared-mime-info
      kf5-kcrash
        kf5-kwindowsystem
      kf5-kdbusaddons
    kf5-kxmlgui
      kf5-attica
      kf5-kconfigwidgets
        kf5-kauth
        kf5-kcodecs
        kf5-kguiaddons
        kf5-kwidgetsaddons
      kf5-kglobalaccel
      kf5-kiconthemes
        kf5-kitemviews
      kf5-ktextwidgets
        kf5-kcompletion
        kf5-sonnet
          hunspell
  kf5-kcalcore
    libical
  kf5-kio
    acl-dev
      acl
        attr
    kf5-kbookmarks
    kf5-kjobwidgets
    kf5-knotifications
      phonon-qt5
      dbusmenu-qt5
    kf5-kwallet
      qgpgme
    kf5-solid
  kf5-kfilemetadata
    exiv2
    poppler-qt5
    taglib
    ffmpeg
    ebook-tools
  kf5-kitemmodels
  kf5-knotifyconfig
  kf5-threadweaver
  opencv
  libpgf
  kf5-marble
    protobuf3-cpp
    kf5-knewstuff
    kf5-kpackage
    kf5-kparts
    kf5-krunner
      kf5-plasma-framework
        kf5-kactivities
          boost
        kf5-kdeclarative
        kf5-kirigami2
          kf5-breeze-icons
    shapelib
  libgpod
  ImageMagick
  eigen3
  lensfun
  libgphoto2
  gphoto2
  liblqr
  kf5-libkexiv2
  oxygen-icons
  qt5-sqlite-plugin
    qt5-qtbase
  gstreamer1-gst-libav
  gstreamer1-gst-plugins-good

Personally I have given up on the idea of introducing KF5 to MacPorts - I'm not even maintaining my own ports very actively anymore.

Gilles himself probably has experience building a standalone version using a script he might be able to tweak so Qt5 and other dependencies are taken from MacPorts but the KF5 frameworks and libraries are embedded in the app bundle.

Last edited 4 years ago by RJVB (René Bertin) (previous) (diff)

comment:3 Changed 4 years ago by cgilles (HumanDynamo)

Hi,

Mostly the list of dependencies is out of date. As i can see libkipi libkexiv2 for ex, are removed since few years now.

Look here to see the dependencies list of digiKam :

https://www.digikam.org/api/index.html#externaldeps

And yes, the current MacOS PKG installer is fully compiled with Macports. This include KF5 of course. My scripts are located here :

https://invent.kde.org/graphics/digikam/-/tree/master/project/bundles/macports

This is the macports packages list installed to compile digiKam :

https://invent.kde.org/graphics/digikam/-/blob/master/project/bundles/macports/01-build-macports.sh#L270

... and here, the list of KF5 components installed in Macports:

https://invent.kde.org/graphics/digikam/-/blob/master/project/bundles/macports/02-build-extralibs.sh#L72

The script 03 compile and install 3 shared UPSTREAM libs (libexiv2, lensfun, libqtav), digiKam, and 2 stand alone plugins.

The script 04, scan dependencies to build the PKG installer, drop debug symbols, make binaries relocatable, and package the application.

To process packaging from scratch, this take 4 hours on my macbook pro 2015 Intel.

Voilà, If you need more guidance, let's me hear...

Gilles Caulier

comment:4 Changed 3 years ago by Christopher Nielsen <mascguy@…>

In be36e945cd0441c2d734dcbc61e96dfe1c9d75ac/macports-ports (master):

digikam: set known_fail
See: #62755

comment:5 Changed 21 months ago by contextnerror

Cc: contextnerror added

comment:6 Changed 4 months ago by ryandesign (Ryan Carsten Schmidt)

Summary: digikam: update to 7.2.0digikam: update to 8.4.0

comment:7 in reply to:  3 Changed 4 months ago by barracuda156

Replying to cgilles:

I have built now 4.14.0, however it crashes on launch (like many KDE4 apps, though not all of them):

QIODevice::setTextModeEnabled: The device is not open
digikam(89086) mac_initialize_dbus: warning: unable to initialize D-Bus environment!
Error: "/var/tmp/kdecache-svacchanda" is owned by uid 501 instead of uid 0.
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries .. done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries warning: Could not find object file "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_kde_kde4-runtime/kde4-runtime/work/build/kimgio/CMakeFiles/kimg_webp.dir/webp.cpp.o" - no debug information available for "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_kde_kde4-runtime/kde4-runtime/work/kde4-runtime-4.14.4.20171102/kimgio/webp.cpp".

. done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries .. done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
digikam(89086)/kdeui (kdelibs): Session bus not found 
To circumvent this problem try the following command (with Linux and bash) 
export $(dbus-launch) 

Program received signal SIGABRT, Aborted.
0x00b32d48 in __kill ()
(gdb) bt
#0  0x00b32d48 in __kill ()
#1  0x00bd680c in abort ()
#2  0x0463a934 in qt_message_output ()
#3  0x0321b810 in QDebug::~QDebug ()
#4  0x03300f48 in KApplicationPrivate::init ()
#5  0x03301878 in KApplication::KApplication ()
#6  0x004523c8 in main ()
Note: See TracTickets for help on using tickets.