about summary refs log tree commit diff
diff options
context:
space:
mode:
authorOrivej Desh <orivej@gmx.fr>2017-12-18 01:20:26 +0000
committerGitHub <noreply@github.com>2017-12-18 01:20:26 +0000
commit2366009845fbadc7bbb98d4f962b434fe26a00dc (patch)
tree7cf7d4aac5f21519b212f5cffd9a1c85e0c71fd2
parent0a8b47d709a865d34025127aaf4c9666cb913dab (diff)
parent9f22f0b90241451b699d20f2887c7634dcc4b3ed (diff)
downloadnixlib-2366009845fbadc7bbb98d4f962b434fe26a00dc.tar
nixlib-2366009845fbadc7bbb98d4f962b434fe26a00dc.tar.gz
nixlib-2366009845fbadc7bbb98d4f962b434fe26a00dc.tar.bz2
nixlib-2366009845fbadc7bbb98d4f962b434fe26a00dc.tar.lz
nixlib-2366009845fbadc7bbb98d4f962b434fe26a00dc.tar.xz
nixlib-2366009845fbadc7bbb98d4f962b434fe26a00dc.tar.zst
nixlib-2366009845fbadc7bbb98d4f962b434fe26a00dc.zip
Merge pull request #32690 from thanegill/airtame-init
airtame: init at 3.0.1
-rw-r--r--lib/maintainers.nix1
-rw-r--r--pkgs/applications/misc/airtame/default.nix100
-rw-r--r--pkgs/top-level/all-packages.nix2
3 files changed, 103 insertions, 0 deletions
diff --git a/lib/maintainers.nix b/lib/maintainers.nix
index a50dabf99410..eac6a7059ad8 100644
--- a/lib/maintainers.nix
+++ b/lib/maintainers.nix
@@ -649,6 +649,7 @@
   tex = "Milan Svoboda <milan.svoboda@centrum.cz>";
   thall = "Niclas Thall <niclas.thall@gmail.com>";
   thammers = "Tobias Hammerschmidt <jawr@gmx.de>";
+  thanegill = "Thane Gill <me@thanegill.com>";
   the-kenny = "Moritz Ulrich <moritz@tarn-vedra.de>";
   theuni = "Christian Theune <ct@flyingcircus.io>";
   ThomasMader = "Thomas Mader <thomas.mader@gmail.com>";
diff --git a/pkgs/applications/misc/airtame/default.nix b/pkgs/applications/misc/airtame/default.nix
new file mode 100644
index 000000000000..56fc11a20e12
--- /dev/null
+++ b/pkgs/applications/misc/airtame/default.nix
@@ -0,0 +1,100 @@
+{ stdenv, lib, fetchurl, makeDesktopItem, makeWrapper
+, alsaLib, atk, cairo, cups, curl, dbus, expat, ffmpeg, fontconfig, freetype
+, gdk_pixbuf, glib, glibc, gnome2, gtk2, libX11, libXScrnSaver, libXcomposite
+, libXcursor, libXdamage, libXext, libXfixes, libXi, libXrandr, libXrender
+, libXtst, libopus, libpulseaudio, libxcb, nspr, nss, pango, udev, x264
+}:
+
+let libPath = lib.makeLibraryPath [
+  alsaLib
+  atk
+  cairo
+  cups
+  curl
+  dbus
+  expat
+  ffmpeg
+  fontconfig
+  freetype
+  gdk_pixbuf
+  glib
+  glibc
+  gnome2.GConf
+  gtk2
+  libopus
+  nspr
+  nss
+  pango
+  stdenv.cc.cc
+  udev
+  x264
+  libX11
+  libXScrnSaver
+  libXcomposite
+  libXcursor
+  libXdamage
+  libXext
+  libXfixes
+  libXi
+  libXrandr
+  libXrender
+  libXtst
+  libpulseaudio
+  libxcb
+];
+in stdenv.mkDerivation rec {
+  pname = "airtame";
+  version = "3.0.1";
+  name = "${pname}-${version}";
+  longName = "${pname}-application";
+
+  src = fetchurl {
+    url = "https://downloads.airtame.com/application/ga/lin_x64/releases/${longName}-${version}.tar.gz";
+    sha256 = "1z5v9dwcvcmz190acm89kr4mngirha1v2jpvfzvisi0vidl2ba60";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  desktopItem = makeDesktopItem rec {
+    name = "airtame";
+    exec = longName;
+    comment = "Airtame Streaming Client";
+    desktopName = "Airtame";
+    icon = name;
+    genericName = comment;
+    categories = "Application;Network;";
+  };
+
+  installPhase = ''
+    opt="$out/opt/airtame"
+    mkdir -p "$opt"
+    cp -R . "$opt"
+    mkdir -p "$out/bin"
+    ln -s "$opt/${longName}" "$out/bin/"
+    mkdir -p "$out/share"
+    cp -r "${desktopItem}/share/applications" "$out/share/"
+    mkdir -p "$out/share/icons"
+    ln -s "$opt/icon.png" "$out/share/icons/airtame.png"
+
+    # Flags and rpath are copied from launch-airtame.sh.
+    interp="$(< $NIX_CC/nix-support/dynamic-linker)"
+    vendorlib="$opt/resources/app.asar.unpacked/streamer/vendor/airtame-core/lib"
+    rpath="${libPath}:$opt:$vendorlib:$opt/resources/app.asar.unpacked/encryption/out/lib"
+    rm $vendorlib/libcurl.so*
+    find "$opt" \( -type f -executable -o -name "*.so" -o -name "*.so.*" \) \
+      -exec patchelf --set-rpath "$rpath" {} \;
+    # The main binary also needs libudev which was removed by --shrink-rpath.
+    patchelf --set-interpreter "$interp" $opt/${longName}
+    wrapProgram $opt/${longName} --add-flags "--disable-gpu --enable-transparent-visuals"
+  '';
+
+  dontPatchELF = true;
+
+  meta = with stdenv.lib; {
+    homepage = https://airtame.com/download;
+    description = "Wireless streaming client for Airtame devices";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ thanegill ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index ff3600dc4492..df93e4cbe96a 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -434,6 +434,8 @@ with pkgs;
 
   airspy = callPackage ../applications/misc/airspy { };
 
+  airtame = callPackage ../applications/misc/airtame { };
+
   aj-snapshot  = callPackage ../applications/audio/aj-snapshot { };
 
   albert = libsForQt5.callPackage ../applications/misc/albert {};