NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
17.46k stars 13.66k forks source link

packaging request: AudioRelay #189814

Open LazyGeniusMan opened 2 years ago

LazyGeniusMan commented 2 years ago

Project description Stream audio between your devices. Turn your phone into a microphone or speakers for PC.

they provide .deb and .tar.gz files

Metadata

JamesReynolds commented 1 year ago

I might take a look at this. I'm running AudioRelay on my NixOS machine now - but not yet in a derivation. It requires:

  1. A new interpreter path
  2. Libraries are dynamically loaded, it needs the following as links in its runtime libs folder:
    ${alsa-lib}/lib/libasound.so.2
    ${fontconfig}/lib/libfontconfig.so.1
    ${freetype}/lib/libfreetype.so.6
    ${libglvnd}/lib/libGL.so.1
    ${libpulseaudio}/lib/libpulse.so.0
    ${gcc}/lib/libstdc++.so.6
    ${libX11}/lib/libX11.so.6
    ${libXext}/lib/libXext.so.6
    ${libXi}/lib/libXi.so.6
    ${libXrender}/lib/libXrender.so.1
    ${libXtst}/lib/libXtst.so.6
    ${zlib}/lib/libz.so.1
  3. LD_LIBRARY_PATH to be absolute and pointed to its runtime lib folder
  4. UDP ports on the firewall - I have (59100, 59200, 59716)

I imagine there is a nicer way to get it to find the libraries, rather than creating links in its runtime folder and setting LD_LIBRARY_PATH... but it works for me that way!

JamesReynolds commented 1 year ago

I've created a flake that works: https://github.com/JamesReynolds/audiorelay-flake.

nix run github:JamesReynolds/audiorelay-flake --impure

This requires the three UDP ports: 59100, 59200, 59716 and is x86_64-linux only.

Only tested on nixos-22.11. I'll look at further integration when time allows. ...given that my previous comment was ~4 months ago this may take some time!

bernardoaraujor commented 11 months ago

thanks for sharing this flake @JamesReynolds

I'm trying to test your flake on nixos-23.05 (Server) with an AudioRelay v0.26.1 running on Android (Player). The Player does detect the Server, but it displays this error message:

Can't connect, the connection is temporarily down or something is blocking it

image

meanwhile, these are the logs on the nixos host:

$ NIXPKGS_ALLOW_UNFREE=1 nix run github:JamesReynolds/audiorelay-flake --impure --experimental-features 'nix-command flakes'
[51.8/69.7 MiB DL] downloading 'https://dl.audiorelay.net/setups/li2023-10-24 16:55:47:291 [INFO] Version: 0.26.3, os: Linux, osVersion: 6.3.5
2023-10-24 16:55:47:594 [INFO] Initializing locale to en
2023-10-24 16:55:47:639 [INFO] Network addresses: NetworkInfo(broadcastAddresses=[0.0.0.0, 192.168.20.255], localAddresses=[10.82.185.1, 100.66.241.80, 192.168.20.227])
2023-10-24 16:55:47:643 [INFO] Starting the server...
2023-10-24 16:55:47:650 [INFO] Waiting for devices from PortAudio...
2023-10-24 16:55:47:657 [INFO] Status initializing
2023-10-24 16:55:47:657 [INFO] Portaudio version: PortAudio V19.7.0-devel, revision unknown
2023-10-24 16:55:47:658 [INFO] Checking for update...
ALSA lib pcm.c:2737:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2737:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2737:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
2023-10-24 16:55:47:756 [INFO] Status initialized
2023-10-24 16:55:47:995 [INFO] Showing main window...
libGL error: MESA-LOADER: failed to open iris: /nix/store/lqz6hmd86viw83f9qll2ip87jhb7p1ah-glibc-2.35-224/lib/libc.so.6: version `GLIBC_2.36' not found (required by /nix/store/98sq0hkrbda37k9iayqdqchkibp8530y-llvm-15.0.7-lib/lib/libLLVM-15.so) (search paths /run/opengl-driver/lib/dri, suffix _dri)
libGL error: failed to load driver: iris
libGL error: MESA-LOADER: failed to open iris: /nix/store/lqz6hmd86viw83f9qll2ip87jhb7p1ah-glibc-2.35-224/lib/libc.so.6: version `GLIBC_2.36' not found (required by /nix/store/98sq0hkrbda37k9iayqdqchkibp8530y-llvm-15.0.7-lib/lib/libLLVM-15.so) (search paths /run/opengl-driver/lib/dri, suffix _dri)
libGL error: failed to load driver: iris
libGL error: MESA-LOADER: failed to open swrast: /nix/store/lqz6hmd86viw83f9qll2ip87jhb7p1ah-glibc-2.35-224/lib/libc.so.6: version `GLIBC_2.36' not found (required by /nix/store/98sq0hkrbda37k9iayqdqchkibp8530y-llvm-15.0.7-lib/lib/libLLVM-15.so) (search paths /run/opengl-driver/lib/dri, suffix _dri)
libGL error: failed to load driver: swrast
2023-10-24 16:55:48:199 [INFO] Rendering api: OPENGL
2023-10-24 16:55:48:224 [INFO] Found update for 0.27.5
Failed to create Skia OpenGL context!
Cannot init graphic context
2023-10-24 16:56:39:202 [INFO] Status initializing
2023-10-24 16:56:39:202 [INFO] Portaudio version: PortAudio V19.7.0-devel, revision unknown
ALSA lib pcm.c:2737:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2737:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2737:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
2023-10-24 16:56:39:296 [INFO] Status initialized
2023-10-24 16:56:59:959 [INFO] Status initializing
2023-10-24 16:56:59:960 [INFO] Portaudio version: PortAudio V19.7.0-devel, revision unknown
ALSA lib pcm.c:2737:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2737:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2737:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
2023-10-24 16:57:00:055 [INFO] Status initialized
2023-10-24 17:03:27:468 [INFO] Showing update window...
Failed to create Skia OpenGL context!
Cannot init graphic context
2023-10-24 17:03:33:041 [ERROR] Desktop API is not supported on the current platform: java.lang.UnsupportedOperationException: Desktop API is not supported on the current platform
    at java.desktop/java.awt.Desktop.getDesktop(Unknown Source)
    at org.jetbrains.skiko.Actuals_awtKt.URIHandler_openUri(SourceFile:1)
    at org.jetbrains.skiko.URIManager.openUri(SourceFile:1)
    at iw_.a(SourceFile:3)
    at Gz.a(SourceFile:353)
    at PN0.a(SourceFile:392)
    at ON0.invokeSuspend(SourceFile)
    at oR€.resumeWith(SourceFile:5)
    at mr.run(SourceFile:163)
    at GA.invoke(SourceFile:48)
    at HA.invokeSuspend(SourceFile:16)
    at oR€.resumeWith(SourceFile:5)
    at mr.run(SourceFile:163)
    at java.desktop/java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
    at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
    at java.base/java.security.AccessController.doPrivileged(Unknown Source)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
2023-10-24 17:03:33:073 [INFO] Sentry initialized
Failed to create Skia OpenGL context!
Cannot init graphic context
2023-10-24 17:03:36:121 [INFO] Closing update window...
riffy13 commented 6 months ago

I would love to see this app too.