diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index a26660f00..aec272782 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -60,7 +60,7 @@ jobs:
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
${{ matrix.cxx }} ${{matrix.cc }} \
- libfmt-dev libboost-dev \
+ libfmt-dev \
libgtest-dev \
libpcre2-dev \
libsystemd-dev libdbus-1-dev \
@@ -137,7 +137,6 @@ jobs:
brew install \
meson ninja \
fmt \
- boost \
googletest \
icu4c \
ffmpeg \
diff --git a/NEWS b/NEWS
index c106d80fb..788f93d53 100644
--- a/NEWS
+++ b/NEWS
@@ -25,6 +25,7 @@ ver 0.24 (not yet released)
- GCC 10 or clang 11 (or newer) recommended
* static partition configuration
* remove Haiku support
+* remove Boost dependency
* require libfmt 7 or later
ver 0.23.12 (2023/01/17)
diff --git a/android/build.py b/android/build.py
index aa4f8b193..e69cc8a8d 100755
--- a/android/build.py
+++ b/android/build.py
@@ -160,7 +160,6 @@ thirdparty_libs = [
openssl,
curl,
libnfs,
- boost,
]
# build the third-party libraries
diff --git a/doc/user.rst b/doc/user.rst
index 4170808c8..d90d090dc 100644
--- a/doc/user.rst
+++ b/doc/user.rst
@@ -60,7 +60,6 @@ In any case, you need:
* a C++20 compiler (e.g. GCC 10 or clang 11)
* `Meson 0.56.0 `__ and `Ninja
`__
-* Boost 1.58
* pkg-config
Each plugin usually needs a codec library, which you also need to
@@ -95,7 +94,6 @@ For example, the following installs a fairly complete list of build dependencies
libsqlite3-dev \
libsystemd-dev \
libgtest-dev \
- libboost-dev \
libicu-dev \
libchromaprint-dev \
libgcrypt20-dev
diff --git a/meson.build b/meson.build
index 226dce99b..5aefd0725 100644
--- a/meson.build
+++ b/meson.build
@@ -240,13 +240,6 @@ inc = include_directories(
'.',
)
-boost_dep = dependency('boost', version: '>= 1.58')
-if boost_dep.version() == '1.67'
- # https://github.com/MusicPlayerDaemon/MPD/pull/384
- # https://github.com/boostorg/lockfree/commit/12726cda009a855073b9bedbdce57b6ce7763da2
- warning('Your Boost version 1.67 is known to be buggy, and the MPD build will fail. Please upgrade to Boost 1.68 or later.')
-endif
-
subdir('src/lib/fmt')
log = static_library(
diff --git a/python/build/boost.py b/python/build/boost.py
deleted file mode 100644
index 786a068b9..000000000
--- a/python/build/boost.py
+++ /dev/null
@@ -1,28 +0,0 @@
-import os, shutil
-import re
-
-from build.project import Project
-
-class BoostProject(Project):
- def __init__(self, url, md5, installed,
- **kwargs):
- m = re.match(r'.*/boost_(\d+)_(\d+)_(\d+)\.tar\.bz2$', url)
- version = "%s.%s.%s" % (m.group(1), m.group(2), m.group(3))
- Project.__init__(self, url, md5, installed,
- name='boost', version=version,
- **kwargs)
-
- def _build(self, toolchain):
- src = self.unpack(toolchain)
-
- # install the headers manually; don't build any library
- # (because right now, we only use header-only libraries)
- includedir = os.path.join(toolchain.install_prefix, 'include')
- dest = os.path.join(includedir, 'boost')
- shutil.rmtree(dest, ignore_errors=True)
- shutil.copytree(os.path.join(src, 'boost'), dest)
-
- # touch the boost/version.hpp file to ensure it's newer than
- # the downloaded Boost tarball, to avoid reinstalling Boost on
- # every run
- os.utime(os.path.join(toolchain.install_prefix, self.installed))
diff --git a/python/build/libs.py b/python/build/libs.py
index c9cebf372..7a4d2ce22 100644
--- a/python/build/libs.py
+++ b/python/build/libs.py
@@ -8,7 +8,6 @@ from build.cmake import CmakeProject
from build.autotools import AutotoolsProject
from build.ffmpeg import FfmpegProject
from build.openssl import OpenSSLProject
-from build.boost import BoostProject
from build.jack import JackProject
libmpdclient = MesonProject(
@@ -448,9 +447,3 @@ jack = JackProject(
'38f674bbc57852a8eb3d9faa1f96a0912d26f7d5df14c11005ad499c8ae352f2',
'lib/pkgconfig/jack.pc',
)
-
-boost = BoostProject(
- 'https://boostorg.jfrog.io/artifactory/main/release/1.81.0/source/boost_1_81_0.tar.bz2',
- '71feeed900fbccca04a3b4f2f84a7c217186f28a940ed8b7ed4725986baf99fa',
- 'include/boost/version.hpp',
-)
diff --git a/python/build/meson.py b/python/build/meson.py
index d86c48e6a..366cdbdf2 100644
--- a/python/build/meson.py
+++ b/python/build/meson.py
@@ -96,9 +96,6 @@ def configure(toolchain, src, build, args=()):
env = toolchain.env.copy()
- # Meson 0.54 requires the BOOST_ROOT environment variable
- env['BOOST_ROOT'] = toolchain.install_prefix
-
subprocess.check_call(configure, env=env)
class MesonProject(Project):
diff --git a/src/apple/meson.build b/src/apple/meson.build
index 160c62bc4..482738d92 100644
--- a/src/apple/meson.build
+++ b/src/apple/meson.build
@@ -5,9 +5,6 @@ endif
audiounit_dep = declare_dependency(
link_args: ['-framework', 'AudioUnit', '-framework', 'CoreAudio', '-framework', 'CoreServices'],
- dependencies: [
- boost_dep,
- ],
)
apple = static_library(
diff --git a/src/db/meson.build b/src/db/meson.build
index bef22224f..0cf4af270 100644
--- a/src/db/meson.build
+++ b/src/db/meson.build
@@ -53,7 +53,6 @@ db_glue = static_library(
db_glue_sources,
include_directories: inc,
dependencies: [
- boost_dep,
fmt_dep,
log_dep,
],
diff --git a/src/input/meson.build b/src/input/meson.build
index 282474ba6..36026d425 100644
--- a/src/input/meson.build
+++ b/src/input/meson.build
@@ -10,9 +10,6 @@ input_api = static_library(
'ProxyInputStream.cxx',
'LastInputStream.cxx',
include_directories: inc,
- dependencies: [
- boost_dep,
- ],
)
input_api_dep = declare_dependency(
@@ -44,7 +41,6 @@ input_glue = static_library(
'cache/Stream.cxx',
include_directories: inc,
dependencies: [
- boost_dep,
log_dep,
],
)
diff --git a/src/output/plugins/meson.build b/src/output/plugins/meson.build
index a5caa6899..c790a52c0 100644
--- a/src/output/plugins/meson.build
+++ b/src/output/plugins/meson.build
@@ -36,7 +36,7 @@ if get_option('httpd')
'httpd/HttpdClient.cxx',
'httpd/HttpdOutputPlugin.cxx',
]
- output_plugins_deps += [ event_dep, net_dep, boost_dep ]
+ output_plugins_deps += [ event_dep, net_dep ]
need_encoder = true
endif
@@ -177,7 +177,6 @@ output_plugins = static_library(
sles_dep,
winmm_dep,
wasapi_dep,
- boost_dep,
output_plugins_deps,
],
)
diff --git a/src/storage/meson.build b/src/storage/meson.build
index cc214548c..51a8c1d1e 100644
--- a/src/storage/meson.build
+++ b/src/storage/meson.build
@@ -19,7 +19,6 @@ storage_glue = static_library(
'Configured.cxx',
include_directories: inc,
dependencies: [
- boost_dep,
log_dep,
],
)
diff --git a/win32/build.py b/win32/build.py
index f29d75302..a3565d56e 100755
--- a/win32/build.py
+++ b/win32/build.py
@@ -106,7 +106,6 @@ thirdparty_libs = [
curl,
libnfs,
jack,
- boost,
]
# build the third-party libraries