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