summaryrefslogtreecommitdiffstats
path: root/pkgs/servers/gerbera
diff options
context:
space:
mode:
authorAntoine R. Dumont (@ardumont) <antoine.romain.dumont@gmail.com>2020-07-16 08:10:59 +0200
committerAntoine R. Dumont (@ardumont) <ardumont@softwareheritage.org>2020-10-07 10:53:52 +0200
commitdc19e3be0c38b4531d56f9e3e203375483e81369 (patch)
tree6e4fb527a24011ea96a0c5552bcc1ba10eb6905e /pkgs/servers/gerbera
parentc7f33a55b0d8dd977395323adc1a652ea866bf4a (diff)
gerbera: Init at 1.6.1
Diffstat (limited to 'pkgs/servers/gerbera')
-rw-r--r--pkgs/servers/gerbera/default.nix78
1 files changed, 78 insertions, 0 deletions
diff --git a/pkgs/servers/gerbera/default.nix b/pkgs/servers/gerbera/default.nix
new file mode 100644
index 000000000000..93bd7778d08c
--- /dev/null
+++ b/pkgs/servers/gerbera/default.nix
@@ -0,0 +1,78 @@
+{ stdenv, fetchFromGitHub
+, cmake, pkg-config
+# required
+, libupnp, libuuid, pugixml, libiconv, sqlite, zlib, spdlog, fmt
+, pkgs
+# options
+, enableDuktape ? true
+, enableCurl ? true
+, enableTaglib ? true
+, enableLibmagic ? true
+, enableLibmatroska ? true
+, enableAvcodec ? false
+, enableLibexif ? true
+, enableExiv2 ? false
+, enableFFmpegThumbnailer ? false
+, enableInotifyTools ? true
+}:
+
+with stdenv.lib;
+let
+ optionOnOff = option: if option then "on" else "off";
+in stdenv.mkDerivation rec {
+ pname = "gerbera";
+ version = "1.6.1";
+
+ src = fetchFromGitHub {
+ repo = "gerbera";
+ owner = "gerbera";
+ rev = "v${version}";
+ sha256 = "sha256:05ca27r9sidbl7xns9hcdan8wgjrpg26n1wq1vp247c9bqhpyql8";
+ };
+
+ cmakeFlags = [
+ "-DWITH_JS=${optionOnOff enableDuktape}"
+ "-DWITH_CURL=${optionOnOff enableCurl}"
+ "-DWITH_TAGLIB=${optionOnOff enableTaglib}"
+ "-DWITH_MAGIC=${optionOnOff enableLibmagic}"
+ "-DWITH_MATROSKA=${optionOnOff enableLibmatroska}"
+ "-DWITH_AVCODEC=${optionOnOff enableAvcodec}"
+ "-DWITH_EXIF=${optionOnOff enableLibexif}"
+ "-DWITH_EXIV2=${optionOnOff enableExiv2}"
+ "-DWITH_FFMPEGTHUMBNAILER=${optionOnOff enableFFmpegThumbnailer}"
+ "-DWITH_INOTIFY=${optionOnOff enableInotifyTools}"
+ # systemd service will be generated alongside the service
+ "-DWITH_SYSTEMD=OFF"
+ ];
+
+ nativeBuildInputs = [ cmake pkg-config ];
+
+ buildInputs = [
+ libupnp libuuid pugixml libiconv sqlite zlib fmt.dev
+ spdlog
+ ]
+ ++ optionals enableDuktape [ pkgs.duktape ]
+ ++ optionals enableCurl [ pkgs.curl ]
+ ++ optionals enableTaglib [ pkgs.taglib ]
+ ++ optionals enableLibmagic [ pkgs.file ]
+ ++ optionals enableLibmatroska [ pkgs.libmatroska pkgs.libebml ]
+ ++ optionals enableAvcodec [ pkgs.libav.dev ]
+ ++ optionals enableLibexif [ pkgs.libexif ]
+ ++ optionals enableExiv2 [ pkgs.exiv2 ]
+ ++ optionals enableInotifyTools [ pkgs.inotify-tools ]
+ ++ optionals enableFFmpegThumbnailer [ pkgs.ffmpegthumbnailer ];
+
+
+ meta = with stdenv.lib; {
+ homepage = https://docs.gerbera.io/;
+ description = "UPnP Media Server for 2020";
+ longDescription = ''
+ Gerbera is a Mediatomb fork.
+ It allows to stream your digital media through your home network and consume it on all kinds
+ of UPnP supporting devices.
+ '';
+ license = licenses.gpl2;
+ maintainers = [ maintainers.ardumont ];
+ platforms = platforms.linux;
+ };
+}