Commit Graph

244 Commits

Author SHA1 Message Date
Max Kellermann bddfff9c2b meson.build: fix typo 2025-01-31 19:51:00 +01:00
Max Kellermann ab011adf77 meson.build: require GCC 12 or clang 14
GCC 10 doesn't have std::make_unique_for_overwrite(), so let's drop it.
2025-01-29 12:24:48 +01:00
Max Kellermann 8ea3f86f43 Revert "meson.build: disable -Wsuggest-override with GCC 8"
This reverts commit 56c0733b42.  GCC 8
is no longer supported.
2025-01-29 12:22:11 +01:00
Max Kellermann a5da7fd51a Merge branch 'v0.23.x' 2025-01-28 19:33:19 +01:00
Max Kellermann 5b5b101c56 subprojects: add id3tag 2025-01-28 19:15:43 +01:00
Max Kellermann eb3cd7bed3 subprojects: add lame 2025-01-28 19:13:59 +01:00
Max Kellermann 56cc2f4c65 subprojects: add libmpdclient wrap 2025-01-28 19:13:46 +01:00
Max Kellermann 9723af3f35 subprojects: add openssl 2025-01-28 19:13:45 +01:00
Max Kellermann dcf3cf4216 subprojects: add ogg, flac, opus 2025-01-28 19:13:19 +01:00
Max Kellermann 578c94081f subprojects: add curl 2025-01-28 19:12:57 +01:00
Max Kellermann 0d1fb9a02c meson.build: build libnpupnp and libmicrohttpd statically as submodules 2025-01-28 18:43:23 +01:00
Max Kellermann 93eb3da48a subprojects: add liburing 2025-01-28 18:35:21 +01:00
Max Kellermann 9445ea1565 subprojects: add libnpupnp 2025-01-28 18:34:29 +01:00
Max Kellermann 8dcd6ea2b4 increment version number to 0.23.17 2025-01-28 18:13:07 +01:00
Max Kellermann d7d32ed6fc meson.build: suppress -Wnan-infinity-disabled (clang 18) due to libfmt 2024-12-03 12:40:21 +01:00
Max Kellermann 8780db5ee8 increment version number to 0.23.16 2024-12-03 12:34:01 +01:00
Max Kellermann 2bc57c38d2 meson.build: set cpp_std=c++20
Meson supports this since version 0.57.0.
2024-10-30 21:37:49 +01:00
jcorporation 23c2bba483 This commit adds a new protocol command to toggle protocol features
for a client connection. It works like the tag_mask and the associated
tagtypes command.

New commands:

- protocol
  Shows enabled protocol features.

- protocol available
  Show all available protocol features.

- protocol enable {feature...}
  Enables protocol features.

- protocol disable {feature...}
  Disables protocol features.

- protocol all
  Enables all available protocol features.

- protocol clear
  Disables all protocol features.

This commit adds also the first protocol feature.

hide_playlists_in_root
  Disables the listing of playlists in the root folder
  for the lsinfo command.
2024-09-28 22:41:35 +02:00
Max Kellermann d45b7cc972 IdleFlags: move to procool/ 2024-07-29 17:02:33 +02:00
Max Kellermann bdc5602244 meson.build: update the required GCC/clang versions 2024-07-08 15:44:45 +02:00
Max Kellermann 8d15e0fed3 Merge branch 'meson' of https://github.com/leigh123linux/MPD 2024-07-06 13:43:28 +02:00
Leigh Scott b459fd3910 Fix bin install location on linux.
For Linux, Meson's default value for bindir is 'bin' [1].
This commit restores mpd's previous functionality of installation in ${prefix}/bin.

[1] https://mesonbuild.com/Builtin-options.html

Fixes https://github.com/MusicPlayerDaemon/MPD/issues/2043
2024-07-06 09:43:01 +01:00
Max Kellermann 044280c538 meson.build: require Meson 1.0
Debian Bookworm (the current stable) has 1.0.1 and Ubuntu LTS 24.04
has 1.3.2.  It's acceptable to require at least version 1.0 now.
2024-07-05 17:23:52 +02:00
Max Kellermann 518ce0187a remove macOS support
There were a few macOS related bug reports on the bug tracker which
have been open for years without a volunteer caring for them.  The
GitHub actions build has also been broken for a long time due to bugs
in the ancient LLVM toolchain shipped with macOS, making macOS an
unsuitable non-Linux target for testing MPD's portability.

All of this makes macOS support an annoying liability for me.  To
avoid more frustration, I'm hereby dropping macOS support completely
from MPD.  Maybe this causes enough pain for a new maintainer to
spawn, but maybe nobody cares, so... let's see.
2024-05-06 14:11:50 +02:00
Colin Edwards 9dcd0604f2 android: Install the libmpd.so output on android
libmpd.so was getting written as a file called `arm64-v8a` instead of `arm64-v8a/libmpd.so`
2024-05-04 00:13:25 -05:00
Colin Edwards 57e26eb832 android: Always force wrap deps
This ensures that android is always built with the deps we build
with wrap.

Also put back the asm disable for openssl since the version we use needs
that flag
2024-04-23 17:58:43 -05:00
Colin Edwards cb6f61cf37 android: Update to NDK 27 2024-04-22 22:34:34 -05:00
Max Kellermann 494f658dee meson.build: suppress -Wnan-infinity-disabled (clang 18) due to libfmt 2024-03-11 15:32:24 +01:00
Max Kellermann c144d0a00d meson.build: build fmt in C++20 mode
Enables `char8_t` support which eliminates clang 18's
`-Wdeprecated-declarations` warning about fmt's use of
`std::string_view<unsigned char>`.
2024-03-11 15:32:24 +01:00
jcorporation f801f299c9 New command playlistlength
Count the number of songs and their total playtime in the playlist.
2024-02-15 11:25:34 +01:00
Max Kellermann c4d8888972 subprojects: add id3tag 2023-12-22 18:15:25 +01:00
Max Kellermann 2c851498cc meson.build: do not leak CPP macros to subprojects 2023-12-20 17:49:13 +01:00
Max Kellermann a4ead670ed subprojects: add libmpdclient wrap 2023-12-20 17:15:29 +01:00
Max Kellermann 303d981099 subprojects: add lame 2023-12-20 16:50:13 +01:00
Max Kellermann 7727311df7 meson.build: disable "openssl:asm"
Work around "call to undeclared function "asm" on Android.
2023-12-20 16:30:16 +01:00
Colin Edwards 906d58a918 android: migrate app build system to use gradle
Most of the Android specific meson code has been removed and replaced with
the grade build system.

The new meson build scripts build and move the libmpd.so binaries into the correct
location that gradle expects. After than gradle handles building the rest of the Android app.

Icons and banners have been updated for the modern app packaging expectations.

For reference here was the figma template Google provides that I used to back the png versions
for older versions of Android <https://www.figma.com/community/file/1283953738855070149>
2023-12-17 22:38:34 -06:00
Max Kellermann a6024f476a subprojects: add openssl 2023-12-11 11:01:32 +01:00
Max Kellermann dfef30a737 subprojects: add curl 2023-12-11 10:53:43 +01:00
Max Kellermann 55ca3709ef subprojects: add ogg, flac, opus 2023-12-11 10:53:43 +01:00
Max Kellermann c7a300d12d meson.build: static liburing wrap build 2023-12-09 21:00:18 +01:00
Max Kellermann eb675ad1b1 pcm/meson.build: add missing dependency on libconfig.a 2023-11-25 22:51:43 +01:00
Max Kellermann 08a5768764 fs/io/TextFile: split into class FileLineReader and AutoGunzipFileLineReader
Detangle dependencies.
2023-11-25 22:50:32 +01:00
Max Kellermann 7a939746ae increment version number to 0.23.15 2023-11-21 20:32:45 +01:00
gd 432675d4c2 Stickers: added support for stickers on playlists and some tag types 2023-10-15 11:25:16 +02:00
Max Kellermann fc9626e2f4 increment version number to 0.23.14 2023-06-02 14:15:14 +02:00
Max Kellermann 258830e913 increment version number to 0.23.13 2023-05-21 20:29:23 +02:00
Max Kellermann c2d202e9b0 meson_options.txt: add option "libfuzzer"
This option allows disabling libFuzzer, which is required to run the
fuzzers with Honggfuzz.
2023-03-14 19:47:22 +01:00
Max Kellermann dbfd0a833d io/meson.build: move sources to libio_fs.a
Only that one has a dependency on libfs.a (for class AllocatedPath
etc.).
2023-03-07 12:48:47 +01:00
Max Kellermann 2c66d90626 fs/io: move to separate library
To eliminate the libio.a dependency.
2023-03-06 19:47:29 +01:00
Max Kellermann b5d224ce22 fs/{StandardDirectory,CheckFile}: move to fs/glue/
Distangle library dependencies.
2023-03-06 19:43:09 +01:00