Commit graph

128 commits

Author SHA1 Message Date
Julian Bouzas
664998c3de meson: set minimum pipewire version to 0.3.41 2021-12-13 08:37:07 -05:00
George Kiagiadakis
3946457a79 release 0.4.5 2021-11-11 12:35:25 +02:00
George Kiagiadakis
9e11aa5b8b release 0.4.4 2021-10-15 16:54:42 +03:00
Enrean Rean
477fc744de meson: add support for compiling module-logind with elogind
Closes #71
2021-10-15 13:36:30 +00:00
George Kiagiadakis
ca8d31141e meson: bump requirement to 0.56 to use meson.project_{source,build}_root() 2021-10-15 12:06:48 +03:00
Peter Hutterer
52aaf96179 wp-uninstalled: build this script with the meson dirs filled in
./builddir/wp-uninstalled.sh can now be called without a -b argument,
it'll automatically set the full paths. This is useful when building as
a subproject.

meson has a limitation: the configure_file() object is just a file
wrapper object. Wrap this into a custom_target() whose return value has
a full_path() method. This way, pipewire can use
wireplumber_uninstalled.full_path() without having to build the
directory structure itself.
2021-10-15 08:14:03 +00:00
George Kiagiadakis
03f14105cf si-audio-adapter: find the device format early and store format-specific flags
* find out if the node supports iec958 or dsd
* use spa_pod_fixate() to get the default format of the node, like p-m-s does
* use _enum_formats_sync() to utilize the param cache, assuming that the node
  always has all features enabled (which is always the case when coming from
  an ObjectManager that was defined in Lua)
* simplify the activation / deactivation procedure
* configure nodes with unpositioned channels early, as if they were devices
2021-10-12 20:00:10 +03:00
George Kiagiadakis
043fa7c9d6 release 0.4.3 2021-10-08 11:09:38 +03:00
George Kiagiadakis
a253aa4c49 modules: implement logind module and integrate with bluez monitor
This copies the logic of media-session's logind module and allows
the bluez monitor to be active in only one user session at a time.
This is especially useful to avoid interference between the gdm
session and the actual user session, which momentarily both have
wireplumber running when logging in/out.

Fixes #54
2021-09-27 18:30:32 +03:00
Sam James
3b24c419b4 meson: Build tests conditionally
It's useful downstream to be able to control building
tests, as there's not much use building them if we're
not going to run them.

Signed-off-by: Sam James <sam@gentoo.org>
2021-09-15 07:05:17 +00:00
George Kiagiadakis
fc7fc50c6f release 0.4.2 2021-08-19 18:05:43 +03:00
Marvin Schmidt
da8fc024f5 build: Allow to specify which system lua to use
On Exherbo we allow to install different Lua ABIs in parallel and
users can choose per-package which Lua ABI to use, e.g.

  media/wireplumber LUA_ABIS: -* 5.3

However, wireplumber's build system doesn't provide a way of explicitly
requesting a specific version, which makes the build non-deterministic,
since you get a different result if you install today with Lua 5.3
installed and reinstall tomorrow after installing Lua 5.4.

To fix this, I introduced a `system-lua-version` option that allows to
specify an explicit Lua version to check for and build against:

> $ meson .. -Dsystem-lua=true -Dsystem-lua-version=5.4
> The Meson build system
> Version: 0.58.0
> Source dir: /mnt/development/scm/freedesktop/wireplumber
> Build dir: /mnt/development/scm/freedesktop/wireplumber/build/reconfigure
> Build type: native build
> Project name: wireplumber
> Project version: 0.4.1
> [...]
> Run-time dependency lua-5.4 found: YES 5.4.3
> [...]
> Build targets in project: 56
>
> wireplumber 0.4.1
>
>     Lua version                    : 5.4.3 (system)
>     systemd conf data              : YES

If the specified version isn't found, the build will fail loudly:

> $ meson .. -Dsystem-lua=true -Dsystem-lua-version=5.5
> [...]
> Found CMake: /usr/host/bin/cmake (3.20.5)
> Run-time dependency lua-5.5 found: NO (tried pkgconfig and cmake)
> Run-time dependency lua5.5 found: NO (tried pkgconfig and cmake)
>
> ../meson.build:50:6: ERROR: Problem encountered: Specified Lua version "5.5" not found
2021-08-10 11:55:19 +03:00
Niklāvs Koļesņikovs
cb41ecc6c6 meson.build: adds summary() about Lua implementation used 2021-07-14 14:27:04 +00:00
Peter Hutterer
fd37c0cd2e meson.build: let meson handle the prefix + bindir concatination
For bindir, libdir and datadir, meson enforces that either
- the value is an absolute path that is a subdir of $prefix
- the value is a relative path that is then made a subdir of $prefix

Example meson error message:
ERROR: The value of the 'bindir' option is '/usr/foobar' which must be a subdir of the prefix '/usr/local'.
Note that if you pass a relative path, it is assumed to be a subdir of prefix.

And meson handles absolute paths for those directories correctly (ignoring
$prefix), so we don't need to manually compose those.

Only exception is sysconfdir which may be outside the prefix but there too
meson handles an absolute path correctly.
2021-07-06 09:40:39 +10:00
George Kiagiadakis
b741b2c8c8 release 0.4.1 2021-06-29 13:27:19 +03:00
George Kiagiadakis
096337f7a5 meson: bump lua dependency to 5.4 and update the subproject 2021-06-27 07:57:06 +00:00
George Kiagiadakis
863c2d496a meson: bump glib requirement to 2.62 as we are already using 2.62 API 2021-06-15 12:04:08 +03:00
George Kiagiadakis
6c592f3322 meson: add glib version required/allowed checks 2021-06-15 12:00:43 +03:00
George Kiagiadakis
4af7e2bd68 release 0.4.0 2021-06-10 19:42:04 +03:00
George Kiagiadakis
b39514a455 meson: add a test setup to run tests under valgrind 2021-06-09 11:55:07 +03:00
George Kiagiadakis
46043d27bc release 0.3.96 2021-05-26 11:14:03 +03:00
George Kiagiadakis
93c2e7d686 meson: refactor docs + gi build system
* Use custom_target() instead of configured shell scripts
* Do not copy all the .rst files in the build directory
* Setup dependencies between targets
* Tidy up dependencies lookup
* Remove unused files
* Upgrade Doxyfile to the latest version and cleanup used options
2021-05-25 14:19:53 +03:00
Raghavendra
2e5b13f970 docs: build gobject introspection from xml files generated by Doxygen 2021-05-25 14:19:53 +03:00
George Kiagiadakis
ecef960b78 release 0.3.95 2021-05-07 13:34:01 +03:00
George Kiagiadakis
ed6184a773 meson: depend on pipewire 0.3.26
Not really a hard requirement, wrt libpipewire API, but it's
hard to keep runtime compatibility with earlier versions when
it comes to configuration options
2021-05-07 12:14:43 +03:00
George Kiagiadakis
226ae5772e meson: find threads_dep early and also use it in the wpipc-client 2021-05-06 13:00:55 +03:00
George Kiagiadakis
cb4fa024b2 meson: replace join_paths() with operator / 2021-05-06 12:15:52 +03:00
George Kiagiadakis
d4b230b994 meson: remove audiofade pipewire branch check
We no longer have the audiofade-related code
2021-05-06 12:04:22 +03:00
Julian Bouzas
795df4b693 lib: add wpipc library
Simple library that uses sockets for inter-process communication. It provides an
API to create server and client objects. Users can add custom handlers in the
server, and clients can send requests for those custom handlers.
2021-05-04 18:55:10 -04:00
George Kiagiadakis
214fffd84d meson: bump version to 0.3.70 2021-04-15 17:01:02 +03:00
George Kiagiadakis
e654f7709f tools: move under the 'src' directory 2021-04-12 09:53:30 +03:00
George Kiagiadakis
c7e32a638a m-mixer-api: add configurable support for the cubic volume scale
This is also what pulseaudio uses, so now the volumes in wpctl match what
pulseaudio tools report and they make a lot more sense from the user's POV
2021-04-09 15:52:17 +03:00
George Kiagiadakis
31cbbcd4c0 meson: fix glib version requirement checks
The == are not valid checks to appear in a .pc file, apparently,
and this breaks the generated wireplumber-0.4.pc file that copies
these version checks as they appear in meson.build
2021-02-25 16:58:47 +02:00
George Kiagiadakis
56f8a82ad7 daemon: add systemd unit files
see also pipewire/pipewire!481
2021-02-23 18:47:50 +02:00
George Kiagiadakis
6376bc6e4b Revert "meson: relax meson version dependency when building with system lua"
meson can't find project options before executing the project() command :(

This reverts commit 8bff0cc630.
2021-02-11 16:14:40 +02:00
George Kiagiadakis
8bff0cc630 meson: relax meson version dependency when building with system lua 2021-02-11 16:07:16 +02:00
George Kiagiadakis
1bd8e31872 meson: bump version 2021-02-03 17:25:55 +02:00
George Kiagiadakis
36598aede4 meson: remove C++ support, there's no C++ code anymore 2021-02-03 17:18:41 +02:00
George Kiagiadakis
a67116b0b9 wptoml: remove, it's not used anymore
and drop cpptoml dependency as well
2021-02-03 17:16:51 +02:00
George Kiagiadakis
e52bd4468d src: move scripts to their own directory, install in $prefix/share/ 2021-02-03 17:16:51 +02:00
George Kiagiadakis
40ce5f0d5f meson: add 'system-lua' project option to toggle the bundled lua
By default system-lua=false, so the bundled version is built.

The default_library for the lua subproject is also set to static
now, so that we don't need to install liblua and mess up the system.
For existing build trees, this needs to be switched manually now with
-Dlua:default_library=static (or just wipe the build dir and start clean)
2021-01-23 19:11:38 +02:00
George Kiagiadakis
7233b7a442 meson: require pipewire 0.3.20
Required for the device event type-info
2021-01-21 09:42:07 +02:00
Julian Bouzas
f0d744016b meson: fix lua dependency on Arch Linux 2021-01-14 12:56:47 -05:00
George Kiagiadakis
af01155093 Merge branch 'master' into next-lua 2020-12-21 18:56:52 +02:00
George Kiagiadakis
bb9b59181b meson: enable compiler flags for warnings, if supported
Use the same set of warning flags that pipewire uses

See #20
2020-12-20 22:16:37 +02:00
George Kiagiadakis
404d016852 meson: add dependency on lua 5.3 2020-12-01 11:18:15 +02:00
George Kiagiadakis
accb91ddb1 tools: port wpctl to the new APIs 2020-12-01 11:00:51 +02:00
George Kiagiadakis
3935308250 meson: bump project & API versions 2020-11-16 11:06:11 +02:00
George Kiagiadakis
a7dcd3b76f src: port daemon to the new APIs 2020-11-15 20:26:15 +02:00
George Kiagiadakis
ccdc354445 modules: port modules and their tests to the new proxy APIs
Disable m-session-settings for now, as it needs further work
2020-11-15 20:26:15 +02:00