summary refs log tree commit diff
diff options
context:
space:
mode:
authoraszlig <aszlig@redmoonstudios.org>2014-12-19 00:17:21 +0100
committeraszlig <aszlig@redmoonstudios.org>2014-12-19 00:17:21 +0100
commitebf216bd56d13557f96471e8f065ed832c8c4e42 (patch)
treec5be7259adcf5a00f372b104fc4cc5841aaf5e4a
parent718666204a10ae5f002598b13a487b2ca9eeefa4 (diff)
parentb16cb9dda903e1a2c743baff638078d7f75beae6 (diff)
downloadnixlib-ebf216bd56d13557f96471e8f065ed832c8c4e42.tar
nixlib-ebf216bd56d13557f96471e8f065ed832c8c4e42.tar.gz
nixlib-ebf216bd56d13557f96471e8f065ed832c8c4e42.tar.bz2
nixlib-ebf216bd56d13557f96471e8f065ed832c8c4e42.tar.lz
nixlib-ebf216bd56d13557f96471e8f065ed832c8c4e42.tar.xz
nixlib-ebf216bd56d13557f96471e8f065ed832c8c4e42.tar.zst
nixlib-ebf216bd56d13557f96471e8f065ed832c8c4e42.zip
Merge pull request #5389 from devhell/mediainfo.
Introduces a video/audio information utility, both CLI and GUI.

Thanks to @devhell.

* devhell-mediainfo:
  libzen: Add --enable-shared to configureFlags.
  mediainfo-gui: Add package
  mediainfo: Add myself to meta.maintainers.
  mediainfo: Add package and dependencies
-rw-r--r--lib/maintainers.nix1
-rw-r--r--pkgs/applications/misc/mediainfo-gui/default.nix29
-rw-r--r--pkgs/applications/misc/mediainfo/default.nix30
-rw-r--r--pkgs/development/libraries/libmediainfo/default.nix30
-rw-r--r--pkgs/development/libraries/libzen/default.nix26
-rw-r--r--pkgs/top-level/all-packages.nix8
6 files changed, 124 insertions, 0 deletions
diff --git a/lib/maintainers.nix b/lib/maintainers.nix
index fc91fd6d71f5..cdb0c3ef3afb 100644
--- a/lib/maintainers.nix
+++ b/lib/maintainers.nix
@@ -50,6 +50,7 @@
   davidrusu = "David Rusu <davidrusu.me@gmail.com>";
   dbohdan = "Danyil Bohdan <danyil.bohdan@gmail.com>";
   DerGuteMoritz = "Moritz Heidkamp <moritz@twoticketsplease.de>";
+  devhell = "devhell <\"^\"@regexmail.net>";
   dmalikov = "Dmitry Malikov <malikov.d.y@gmail.com>";
   doublec = "Chris Double <chris.double@double.co.nz>";
   ederoyd46 = "Matthew Brown <matt@ederoyd.co.uk>";
diff --git a/pkgs/applications/misc/mediainfo-gui/default.nix b/pkgs/applications/misc/mediainfo-gui/default.nix
new file mode 100644
index 000000000000..8013cbe3669d
--- /dev/null
+++ b/pkgs/applications/misc/mediainfo-gui/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, automake, autoconf, libtool, pkgconfig, libzen, libmediainfo, wxGTK, desktop_file_utils, libSM, imagemagick }:
+
+let version = "0.7.71"; in
+
+stdenv.mkDerivation {
+  name = "mediainfo-gui-${version}";
+  src = fetchurl {
+    url = "http://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.bz2";
+    sha256 = "0sf0ym0v5ds5w4bxk66712adybr1prxxqwvrf9clm57ibs602jfq";
+  };
+
+  buildInputs = [ automake autoconf libtool pkgconfig libzen libmediainfo wxGTK desktop_file_utils libSM imagemagick ];
+
+  sourceRoot = "./MediaInfo/Project/GNU/GUI/";
+
+  preConfigure = "sh autogen";
+
+  meta = {
+    description = "Supplies technical and tag information about a video or audio file (GUI version)";
+    longDescription = ''
+      MediaInfo is a convenient unified display of the most relevant technical
+      and tag data for video and audio files.
+    '';
+    homepage = http://mediaarea.net/;
+    license = stdenv.lib.licenses.bsd2;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.devhell ];
+  };
+}
diff --git a/pkgs/applications/misc/mediainfo/default.nix b/pkgs/applications/misc/mediainfo/default.nix
new file mode 100644
index 000000000000..cad5aa1951ee
--- /dev/null
+++ b/pkgs/applications/misc/mediainfo/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, automake, autoconf, libtool, pkgconfig, libzen, libmediainfo, zlib }:
+
+let version = "0.7.71"; in
+
+stdenv.mkDerivation {
+  name = "mediainfo-${version}";
+  src = fetchurl {
+    url = "http://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.bz2";
+    sha256 = "0sf0ym0v5ds5w4bxk66712adybr1prxxqwvrf9clm57ibs602jfq";
+  };
+
+  buildInputs = [ automake autoconf libtool pkgconfig libzen libmediainfo zlib ];
+
+  sourceRoot = "./MediaInfo/Project/GNU/CLI/";
+
+  configureFlags = [ "--with-libmediainfo=${libmediainfo}" ];
+  preConfigure = "sh autogen";
+
+  meta = {
+    description = "Supplies technical and tag information about a video or audio file";
+    longDescription = ''
+      MediaInfo is a convenient unified display of the most relevant technical
+      and tag data for video and audio files.
+    '';
+    homepage = http://mediaarena.net/;
+    license = stdenv.lib.licenses.bsd2;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.devhell ];
+  };
+}
diff --git a/pkgs/development/libraries/libmediainfo/default.nix b/pkgs/development/libraries/libmediainfo/default.nix
new file mode 100644
index 000000000000..0dd42bb093ec
--- /dev/null
+++ b/pkgs/development/libraries/libmediainfo/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, automake, autoconf, libtool, pkgconfig, libzen, zlib }:
+
+let version = "0.7.71"; in
+
+stdenv.mkDerivation {
+  name = "libmediainfo-${version}";
+  src = fetchurl {
+    url = "http://mediaarea.net/download/source/libmediainfo/${version}/libmediainfo_${version}.tar.bz2";
+    sha256 = "088v7qsn7d5pijr88fx4azwb31g6d7bp5ykrzgwhskmj80y3rlp2";
+  };
+
+  buildInputs = [ automake autoconf libtool pkgconfig libzen zlib ];
+
+  sourceRoot = "./MediaInfoLib/Project/GNU/Library/";
+
+  configureFlags = [ "--enable-shared" ];
+  preConfigure = "sh autogen";
+
+  postInstall = ''
+    install -vD -m 644 libmediainfo.pc "$out/lib/pkgconfig/libmediainfo.pc"
+  '';
+
+  meta = {
+    description = "Shared library for mediainfo";
+    homepage = http://mediaarena.net/;
+    license = stdenv.lib.licenses.bsd2;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.devhell ];
+  };
+}
diff --git a/pkgs/development/libraries/libzen/default.nix b/pkgs/development/libraries/libzen/default.nix
new file mode 100644
index 000000000000..8d1e32972133
--- /dev/null
+++ b/pkgs/development/libraries/libzen/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, automake, autoconf, libtool, pkgconfig }:
+
+let version = "0.4.30"; in
+
+stdenv.mkDerivation {
+  name = "libzen-${version}";
+  src = fetchurl {
+    url = "http://mediaarea.net/download/source/libzen/${version}/libzen_${version}.tar.bz2";
+    sha256 = "1ripvyzz2lw9nx2j8mkjgjfpabrz6knwxri52asqf1abnszbry64";
+  };
+
+  buildInputs = [ automake autoconf libtool pkgconfig ];
+  configureFlags = [ "--enable-shared" ];
+
+  sourceRoot = "./ZenLib/Project/GNU/Library/";
+
+  preConfigure = "sh autogen";
+
+  meta = {
+    description = "Shared library for libmediainfo and mediainfo";
+    homepage = http://mediaarena.net/;
+    license = stdenv.lib.licenses.bsd2;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.devhell ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index e7867598b25d..2749b76816cb 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -5912,6 +5912,8 @@ let
 
   libmcrypt = callPackage ../development/libraries/libmcrypt {};
 
+  libmediainfo = callPackage ../development/libraries/libmediainfo { };
+
   libmhash = callPackage ../development/libraries/libmhash {};
 
   libmodbus = callPackage ../development/libraries/libmodbus {};
@@ -6320,6 +6322,8 @@ let
 
   libyubikey = callPackage ../development/libraries/libyubikey { };
 
+  libzen = callPackage ../development/libraries/libzen { };
+
   libzip = callPackage ../development/libraries/libzip { };
 
   libzdb = callPackage ../development/libraries/libzdb { };
@@ -10174,6 +10178,10 @@ let
 
   mda_lv2 = callPackage ../applications/audio/mda-lv2 { };
 
+  mediainfo = callPackage ../applications/misc/mediainfo { };
+
+  mediainfo-gui = callPackage ../applications/misc/mediainfo-gui { };
+
   meld = callPackage ../applications/version-management/meld {
     inherit (gnome) scrollkeeper;
     pygtk = pyGtkGlade;