about summary refs log tree commit diff
path: root/nixpkgs/pkgs/misc/emulators/cdemu
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2019-01-07 02:18:36 +0000
committerAlyssa Ross <hi@alyssa.is>2019-01-07 02:18:47 +0000
commit36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2 (patch)
treeb3faaf573407b32aa645237a4d16b82778a39a92 /nixpkgs/pkgs/misc/emulators/cdemu
parent4e31070265257dc67d120c27e0f75c2344fdfa9a (diff)
parentabf060725d7614bd3b9f96764262dfbc2f9c2199 (diff)
downloadnixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.gz
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.bz2
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.lz
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.xz
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.zst
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.zip
Add 'nixpkgs/' from commit 'abf060725d7614bd3b9f96764262dfbc2f9c2199'
git-subtree-dir: nixpkgs
git-subtree-mainline: 4e31070265257dc67d120c27e0f75c2344fdfa9a
git-subtree-split: abf060725d7614bd3b9f96764262dfbc2f9c2199
Diffstat (limited to 'nixpkgs/pkgs/misc/emulators/cdemu')
-rw-r--r--nixpkgs/pkgs/misc/emulators/cdemu/analyzer.nix16
-rw-r--r--nixpkgs/pkgs/misc/emulators/cdemu/base.nix37
-rw-r--r--nixpkgs/pkgs/misc/emulators/cdemu/client.nix16
-rw-r--r--nixpkgs/pkgs/misc/emulators/cdemu/daemon.nix9
-rw-r--r--nixpkgs/pkgs/misc/emulators/cdemu/gui.nix21
-rw-r--r--nixpkgs/pkgs/misc/emulators/cdemu/libmirage.nix9
-rw-r--r--nixpkgs/pkgs/misc/emulators/cdemu/vhba.nix24
7 files changed, 132 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/misc/emulators/cdemu/analyzer.nix b/nixpkgs/pkgs/misc/emulators/cdemu/analyzer.nix
new file mode 100644
index 000000000000..64b485bea310
--- /dev/null
+++ b/nixpkgs/pkgs/misc/emulators/cdemu/analyzer.nix
@@ -0,0 +1,16 @@
+{ callPackage, gtk3, glib, libxml2, gnuplot, makeWrapper, gnome3, gdk_pixbuf, librsvg, intltool }:
+let pkg = import ./base.nix {
+  version = "3.1.0";
+  pkgName = "image-analyzer";
+  pkgSha256 = "1pr23kxx83xp83h27fkdv86f3bxclkx056f9jx8jhnpn113xp7r2";
+};
+in callPackage pkg {
+  buildInputs = [ glib gtk3 libxml2 gnuplot (callPackage ./libmirage.nix {}) makeWrapper
+                  gnome3.defaultIconTheme gdk_pixbuf librsvg intltool ];
+  drvParams = {
+    postFixup = ''
+      wrapProgram $out/bin/image-analyzer \
+        --prefix XDG_DATA_DIRS : "$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+    '';
+  };
+}
diff --git a/nixpkgs/pkgs/misc/emulators/cdemu/base.nix b/nixpkgs/pkgs/misc/emulators/cdemu/base.nix
new file mode 100644
index 000000000000..e587151d3e72
--- /dev/null
+++ b/nixpkgs/pkgs/misc/emulators/cdemu/base.nix
@@ -0,0 +1,37 @@
+{ pkgName, version, pkgSha256 }:
+{ stdenv, fetchurl, cmake, pkgconfig, buildInputs, drvParams ? {} }:
+let name = "${pkgName}-${version}";
+in stdenv.mkDerivation ({
+  inherit name buildInputs;
+  src = fetchurl {
+    url = "mirror://sourceforge/cdemu/${name}.tar.bz2";
+    sha256 = pkgSha256;
+  };
+  nativeBuildInputs = [ pkgconfig cmake ];
+  setSourceRoot = ''
+    mkdir build
+    cd build
+    sourceRoot="`pwd`"
+  '';
+  configurePhase = ''
+    cmake ../${name} -DCMAKE_INSTALL_PREFIX=$out -DCMAKE_BUILD_TYPE=Release -DCMAKE_SKIP_RPATH=ON
+  '';
+  meta = with stdenv.lib; {
+    description = "A suite of tools for emulating optical drives and discs";
+    longDescription = ''
+      CDEmu consists of:
+
+      - a kernel module implementing a virtual drive-controller
+      - libmirage which is a software library for interpreting optical disc images
+      - a daemon which emulates the functionality of an optical drive+disc
+      - textmode and GTK clients for controlling the emulator
+      - an image analyzer to view the structure of image files
+
+      Optical media emulated by CDemu can be mounted within Linux. Automounting is also allowed.
+    '';
+    homepage = http://cdemu.sourceforge.net/;
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ bendlas ];
+  };
+} // drvParams)
diff --git a/nixpkgs/pkgs/misc/emulators/cdemu/client.nix b/nixpkgs/pkgs/misc/emulators/cdemu/client.nix
new file mode 100644
index 000000000000..ec4341a29459
--- /dev/null
+++ b/nixpkgs/pkgs/misc/emulators/cdemu/client.nix
@@ -0,0 +1,16 @@
+{ callPackage, pythonPackages, intltool, makeWrapper }:
+let pkg = import ./base.nix {
+  version = "3.1.0";
+  pkgName = "cdemu-client";
+  pkgSha256 = "0s6q923g5vkahw5fki6c7a25f68y78zfx4pfsy0xww0z1f5hfsik";
+};
+in callPackage pkg {
+  buildInputs = [ pythonPackages.python pythonPackages.dbus-python pythonPackages.pygobject3
+                  intltool makeWrapper ];
+  drvParams = {
+    postFixup = ''
+      wrapProgram $out/bin/cdemu \
+        --set PYTHONPATH "$PYTHONPATH"
+    '';
+  };
+}
diff --git a/nixpkgs/pkgs/misc/emulators/cdemu/daemon.nix b/nixpkgs/pkgs/misc/emulators/cdemu/daemon.nix
new file mode 100644
index 000000000000..587224e71d78
--- /dev/null
+++ b/nixpkgs/pkgs/misc/emulators/cdemu/daemon.nix
@@ -0,0 +1,9 @@
+{ callPackage, glib, libao, intltool }:
+let pkg = import ./base.nix {
+  version = "3.1.0";
+  pkgName = "cdemu-daemon";
+  pkgSha256 = "0kxwhwjvcr40sjlrvln9gasjwkkfc3wxpcz0rxmffp92w8phz3s9";
+};
+in callPackage pkg {
+  buildInputs = [ glib libao (callPackage ./libmirage.nix {}) intltool ];
+}
diff --git a/nixpkgs/pkgs/misc/emulators/cdemu/gui.nix b/nixpkgs/pkgs/misc/emulators/cdemu/gui.nix
new file mode 100644
index 000000000000..9403a969e8f4
--- /dev/null
+++ b/nixpkgs/pkgs/misc/emulators/cdemu/gui.nix
@@ -0,0 +1,21 @@
+{ callPackage, pythonPackages, gtk3, glib, libnotify, intltool, makeWrapper, gnome3, gdk_pixbuf, librsvg }:
+let
+  pkg = import ./base.nix {
+    version = "3.1.0";
+    pkgName = "gcdemu";
+    pkgSha256 = "0rmnw302fk9vli22v54qx19lqxy23syxi154klxz2vma009q0p02";
+  };
+  inherit (pythonPackages) python pygobject3;
+in callPackage pkg {
+  buildInputs = [ python pygobject3 gtk3 glib libnotify intltool makeWrapper
+                  gnome3.defaultIconTheme gdk_pixbuf librsvg ];
+  drvParams = {
+    postFixup = ''
+      wrapProgram $out/bin/gcdemu \
+        --set PYTHONPATH "$PYTHONPATH" \
+        --set GI_TYPELIB_PATH "$GI_TYPELIB_PATH" \
+        --prefix XDG_DATA_DIRS : "$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+    '';
+    # TODO AppIndicator
+  };
+}
diff --git a/nixpkgs/pkgs/misc/emulators/cdemu/libmirage.nix b/nixpkgs/pkgs/misc/emulators/cdemu/libmirage.nix
new file mode 100644
index 000000000000..3813ceef6115
--- /dev/null
+++ b/nixpkgs/pkgs/misc/emulators/cdemu/libmirage.nix
@@ -0,0 +1,9 @@
+{ callPackage, glib, libsndfile, zlib, bzip2, lzma, libsamplerate, intltool }:
+let pkg = import ./base.nix {
+  version = "3.1.0";
+  pkgName = "libmirage";
+  pkgSha256 = "0qvkvnvxqx8hqzcqzh7sqjzgbc1nrd91lzv33lr8c6fgaq8cqzmn";
+};
+in callPackage pkg {
+  buildInputs = [ glib libsndfile zlib bzip2 lzma libsamplerate intltool ];
+}
diff --git a/nixpkgs/pkgs/misc/emulators/cdemu/vhba.nix b/nixpkgs/pkgs/misc/emulators/cdemu/vhba.nix
new file mode 100644
index 000000000000..73ef7bc6a180
--- /dev/null
+++ b/nixpkgs/pkgs/misc/emulators/cdemu/vhba.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, kernel }:
+
+stdenv.mkDerivation rec {
+  name = "vhba-${version}";
+  version = "20170610";
+
+  src  = fetchurl {
+    url = "mirror://sourceforge/cdemu/vhba-module-${version}.tar.bz2";
+    sha256 = "1v6r0bgx0a65vlh36b1l2965xybngbpga6rp54k4z74xk0zwjw3r";
+  };
+
+  makeFlags = [ "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" "INSTALL_MOD_PATH=$(out)" ];
+  nativeBuildInputs = kernel.moduleBuildDependencies;
+
+  hardeningDisable = [ "pic" ];
+
+  meta = with stdenv.lib; {
+    description = "Provides a Virtual (SCSI) HBA";
+    homepage = http://cdemu.sourceforge.net/about/vhba/;
+    platforms = platforms.linux;
+    license = licenses.gpl2Plus;
+    maintainers = with stdenv.lib.maintainers; [ bendlas ];
+  };
+}