1. 02 Aug, 2019 2 commits
  2. 18 Mar, 2019 1 commit
    • Jörg Krause's avatar
      src/lib/gcrypt/meson.build: use dependency() for quering linker flags · 7f87de78
      Jörg Krause authored
      Since version 0.49.0 the Meson build system has native support for
      finding and using the gcrypt library using the `dependency()` function.
      
      `dependency()` has the advantage over `find_library()` as it queries the
      required linker flags for proper linking with external libraries, e.g.
      libgpg-error.
      
      As the latest released version 1.8.4 of libgcrypt does not
      provide a .pc file, using `libgcrypt-config` is the only way to query
      the required linker flags.
      
      Unfortunately, there is an issue when cross compiling mpd and the user does not
      define `libgcrypt-config` in the cross file. If the user sets the qobuz feature
      to `auto` and the target does not have libgcrypt installed, the Meson
      build system will falsly assume libgcrypt is available for the target as
      it uses the native `libgcrypt-config` on the host and pretend is has
      found the library.
      
      Therefore, we still rely on `find_library()` to workaround this buggy
      behavior. This way, if qobuz feature detection is set to `auto`, the
      feature is disabled in case there is no target libgcrypt available.
      
      Fixes building mpd statically with the qobuz feature enabled. Otherwise
      the build fails with undefined references because of the missing libgpg-error
      dependency:
      
      ```
      /sysroot/usr/lib/libgcrypt.a(libgcrypt_la-visibility.o): In function `gcry_strerror':
      visibility.c:(.text+0x14): undefined reference to `gpg_strerror'
      ```
      7f87de78
  3. 17 Mar, 2019 2 commits
  4. 23 Feb, 2019 1 commit
  5. 21 Feb, 2019 2 commits
  6. 19 Feb, 2019 1 commit
  7. 15 Feb, 2019 1 commit
  8. 21 Jan, 2019 3 commits
  9. 28 Dec, 2018 1 commit
    • Max Kellermann's avatar
      remove libwrap support · 22e6d95c
      Max Kellermann authored
      libwrap is an obscure artefact from a past long ago, when source IP
      address meant something.
      
      And its API is "interesting"; it requires the application to expose
      two global variables `allow_severity` and `deny_severity`.  This led
      to bug #437.  I don't want to declare those variables; instead, I'd
      like to remove libwrap support.
      
      Closes #437
      22e6d95c
  10. 04 Dec, 2018 1 commit
  11. 19 Nov, 2018 1 commit
    • Max Kellermann's avatar
      check.h: remove obsolete header · ce49d99c
      Max Kellermann authored
      Since we switched from autotools to Meson in commit
      94592c14, we don't need to include
      `config.h` early to properly enable large file support.  Meson passes
      the required macros on the compiler command line instead of defining
      them in `config.h`.
      
      This means we can include `config.h` at any time, whenever we want to
      check its macros, and there are no ordering constraints.
      ce49d99c
  12. 11 Nov, 2018 3 commits
  13. 07 Nov, 2018 2 commits
  14. 04 Nov, 2018 3 commits
  15. 01 Nov, 2018 1 commit
  16. 31 Oct, 2018 2 commits
    • Max Kellermann's avatar
      *: copyright year 2018 · f5c90714
      Max Kellermann authored
      f5c90714
    • Max Kellermann's avatar
      output/roar: remove · 06ca08ce
      Max Kellermann authored
      Bugs in libroar which broke the MPD build have been annoying me for
      quite some time, and the newest bug has now hit my main build machine:
      
       https://github.com/MusicPlayerDaemon/MPD/issues/377
      
      Problem is the usage of the typedef `_IO_off64_t` in libroar's
      `vio_stdio.h`:
      
       int roar_vio_to_stdio_lseek (void *__cookie, _IO_off64_t *__pos, int __w);
      
      This `_IO_off64_t` is an internal implementation detail of glibc and
      was removed in version 2.28.  Nobody must ever use it.  Why the ****
      did the RoarAudio developers use it?  Not using internal typedefs
      isn't exactly rocket science.
      
      This annoys me enough to finally remove the plugin.  Anyway, I've
      never heard of anybody using RoarAudio, so my best guess is that
      nobody will notice.
      06ca08ce
  17. 14 Oct, 2018 1 commit
    • Max Kellermann's avatar
      build with Meson instead of autotools · 94592c14
      Max Kellermann authored
      So long, autotools!  This is my last MPD related project to migrate
      away from it.  It has its strengths, but also very obvious weaknesses
      and weirdnesses.  Today, many of its quirks are not needed anymore,
      and are cumbersome and slow.  Now welcome our new Meson overlords!
      94592c14
  18. 21 Sep, 2018 1 commit
  19. 02 Sep, 2018 1 commit
    • Max Kellermann's avatar
      lib/dbus/ReadIter: switch off -Wshadow on GCC<8 · b9cca49e
      Max Kellermann authored
      GCC 6.3.0 emits bogus warnings like this:
      
       In file included from src/lib/dbus/UDisks2.cxx:22:0:
       src/lib/dbus/ReadIter.hxx: In instantiation of 'ODBus::ReadMessageIter::ForEachProperty(F&&)::<lambda(auto:2&&)> [with auto:2 = ODBus::ReadMessageIter; F = std::_Bind<void (*(std::reference_wrapper<UDisks2::Object>, std::_Placeholder<1>, std::_Placeholder<2>))(UDisks2::Object&, const char*, ODBus::ReadMessageIter&&) noexcept>]':
       src/lib/dbus/ReadIter.hxx:102:6:   required from 'ODBus::ReadMessageIter::ForEachRecurse(int, F&&)::<lambda(auto:1&&)> [with auto:1 = ODBus::ReadMessageIter&; F = ODBus::ReadMessageIter::ForEachProperty(F&&) [with F = std::_Bind<void (*(std::reference_wrapper<UDisks2::Object>, std::_Placeholder<1>, std::_Placeholder<2>))(UDisks2::Object&, const char*, ODBus::ReadMessageIter&&) noexcept>]::<lambda(auto:2&&)>]'
       src/lib/dbus/ReadIter.hxx:92:5:   required from 'void ODBus::ReadMessageIter::ForEach(int, F&&) [with F = ODBus::ReadMessageIter::ForEachRecurse(int, F&&) [with F = ODBus::ReadMessageIter::ForEachProperty(F&&) [with F = std::_Bind<void (*(std::reference_wrapper<UDisks2::Object>, std::_Placeholder<1>, std::_Placeholder<2>))(UDisks2::Object&, const char*, ODBus::ReadMessageIter&&) noexcept>]::<lambda(auto:2&&)>]::<lambda(auto:1&&)>]'
       src/lib/dbus/ReadIter.hxx:101:3:   required from 'void ODBus::ReadMessageIter::ForEachRecurse(int, F&&) [with F = ODBus::ReadMessageIter::ForEachProperty(F&&) [with F = std::_Bind<void (*(std::reference_wrapper<UDisks2::Object>, std::_Placeholder<1>, std::_Placeholder<2>))(UDisks2::Object&, const char*, ODBus::ReadMessageIter&&) noexcept>]::<lambda(auto:2&&)>]'
       src/lib/dbus/ReadIter.hxx:114:3:   required from 'void ODBus::ReadMessageIter::ForEachProperty(F&&) [with F = std::_Bind<void (*(std::reference_wrapper<UDisks2::Object>, std::_Placeholder<1>, std::_Placeholder<2>))(UDisks2::Object&, const char*, ODBus::ReadMessageIter&&) noexcept>]'
       src/lib/dbus/UDisks2.cxx:71:30:   required from here
       src/lib/dbus/ReadIter.hxx:114:53: error: declaration of 'ODBus::ReadMessageIter&& i' shadows a parameter [-Werror=shadow]
          ForEachRecurse(DBUS_TYPE_DICT_ENTRY, [&f](auto &&i){
                                                            ^
       src/lib/dbus/ReadIter.hxx:101:33: note: shadowed declaration is here
          ForEach(arg_type, [&f](auto &&i){
                                        ^
      b9cca49e
  20. 20 Aug, 2018 3 commits
  21. 17 Aug, 2018 1 commit
  22. 09 Aug, 2018 1 commit
  23. 02 Aug, 2018 5 commits