Adding a new package with dependencies.

  • A couple days ago I asked a question a question on documentation but it was overlooked or wasn't related enough to the original post so there was no replies

    I want to make GitHub - mono/libgdiplus: C-based implementation of the GDI+ API to go with the Netcore binaries. Since that time and after searching through many other packages I know found out how to use PKG_TOOLCHAIN="autotools" and have started with this commit that I hope to submit as a PR

    Add libgdiplus · emveepee/LibreELEC.tv@64b9b77 · GitHub

    But I still have other questions.

    1 This is a binary to go with netcore so rather then the /usr/lib the lib for netcore might make more sense however there are potentially multiple netcore LTS versions so that becomes complicated. What is the best location for libraries like this? I can use LD_LIBRARY_PATH to find it.

    2. There are a other libraries that can be use with libgdiplus, (right now I only need and can test libjpeg and libpng but I figure make it complete)

    - libexif is not installed by default how do I force it?

    - giflib is a manual build, how can I compile it?

    - What location should be used for these libraries that are also not in /usr/lib

    3. Is there a better way of finding libjpeg-turbo in the package?

    Thanks in advance


    Martin

  • my mono/netcore experience is rather low, maybe heitbaum knows more about it

    libexif is not installed by default how do I force it?

    if you need the lib you can just copy it to the addon

    LibreELEC.tv/package.mk at master · LibreELEC/LibreELEC.tv · GitHub


    giflib is a manual build, how can I compile it?

    ?? LibreELEC.tv/package.mk at master · LibreELEC/LibreELEC.tv · GitHub

    PKG_TOOLCHAIN="manual"

    LibreELEC.tv/packages at master · LibreELEC/LibreELEC.tv · GitHub


    What location should be used for these libraries that are also not in /usr/lib

    see chrome example ${ADDON_BUILD}/${PKG_ADDON_ID}/lib

    Is there a better way of finding libjpeg-turbo in the package?

    it should find it automatically, if not for example

    Code
    pre_configure_target() {
      # add extra flag to toolchain default
      CFLAGS="$CFLAGS -DEXTRA_FLAG=yeah"
    }

    depends at package

    btw why do you need libgdiplus at all ? maybe there is a easier workaround

  • The reason libgdipluis is needed is some GDI primitives are not implemented in netcore itself (except in Windows) so netcore looks for the library and fails.

    Thanks for the readme instructions that would have save save me time yesterday. I don't use giflib so I will leave it out,it seems to complicated.

    Installing to the addon should work, I will check that out. I can just move in libtiff and libexif to match the build

    For libjpeg-turbo configure finds it for the build but it is missing at link time. I'll try your settings.

    Martin

  • Trying that setting for libjpeg-turbo didn't work

    Code
    ../libtool: line 7486: cd: libjpeg-turbo: No such file or directory
    libtool:   error: cannot determine absolute directory name of 'libjpeg-turbo'

    Since it is found during configure I suspect it is a link error and their build process doesn't know about libjpeg-turbo.

    Martin