mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-23 15:33:13 +00:00
add brasero, a gnome cd/dvd burner
This commit is contained in:
parent
a00e19ceb9
commit
a62d652a3b
57
pkgs/tools/cd-dvd/brasero/default.nix
Normal file
57
pkgs/tools/cd-dvd/brasero/default.nix
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
{ stdenv, fetchurl, pkgconfig, gtk3, itstool, gst_all_1, libxml2, libnotify
|
||||||
|
, libcanberra_gtk3, intltool, gnome3, makeWrapper, dvdauthor, cdrdao
|
||||||
|
, dvdplusrwtools, cdrtools, libdvdcss }:
|
||||||
|
|
||||||
|
let
|
||||||
|
major = "3.12";
|
||||||
|
minor = "0";
|
||||||
|
GST_PLUGIN_PATH = stdenv.lib.makeSearchPath "lib/gstreamer-1.0" [
|
||||||
|
gst_all_1.gst-plugins-base
|
||||||
|
gst_all_1.gst-plugins-good
|
||||||
|
gst_all_1.gst-plugins-bad
|
||||||
|
gst_all_1.gst-libav ];
|
||||||
|
|
||||||
|
in stdenv.mkDerivation rec {
|
||||||
|
version = "${major}.${minor}";
|
||||||
|
name = "brasero-${version}";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://download.gnome.org/sources/brasero/${major}/${name}.tar.xz";
|
||||||
|
sha256 = "68fef2699b772fa262d855dac682100dbfea05563a7e4056eff8fe6447aec2fc";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard dvdauthor
|
||||||
|
cdrdao dvdplusrwtools cdrtools ];
|
||||||
|
|
||||||
|
buildInputs = [ pkgconfig gtk3 itstool libxml2 libnotify libcanberra_gtk3
|
||||||
|
intltool gnome3.gsettings_desktop_schemas makeWrapper libdvdcss
|
||||||
|
gst_all_1.gstreamer gst_all_1.gst-plugins-base
|
||||||
|
gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad ];
|
||||||
|
|
||||||
|
# brasero checks that the applications it uses aren't symlinks, but this
|
||||||
|
# will obviously not work on nix
|
||||||
|
patches = [ ./remove-symlink-check.patch ];
|
||||||
|
|
||||||
|
configureFlags = [
|
||||||
|
"--with-girdir=$out/share/gir-1.0"
|
||||||
|
"--with-typelibdir=$out/lib/girepository-1.0" ];
|
||||||
|
|
||||||
|
preFixup = ''
|
||||||
|
for f in $out/bin/* $out/libexec/*; do
|
||||||
|
wrapProgram "$f" \
|
||||||
|
--prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
|
||||||
|
--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" \
|
||||||
|
--prefix GST_PLUGIN_PATH : "${GST_PLUGIN_PATH}" \
|
||||||
|
--prefix LD_LIBRARY_PATH : ${libdvdcss}/lib
|
||||||
|
done
|
||||||
|
rm $out/share/icons/hicolor/icon-theme.cache
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "A Gnome CD/DVD Burner";
|
||||||
|
homepage = https://wiki.gnome.org/Apps/Brasero;
|
||||||
|
maintainers = [ maintainers.bdimcheff ];
|
||||||
|
license = licenses.gpl2;
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
29
pkgs/tools/cd-dvd/brasero/remove-symlink-check.patch
Normal file
29
pkgs/tools/cd-dvd/brasero/remove-symlink-check.patch
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
diff --git a/libbrasero-burn/burn-plugin.c b/libbrasero-burn/burn-plugin.c
|
||||||
|
index f97bc5f..88e9d35 100644
|
||||||
|
--- a/libbrasero-burn/burn-plugin.c
|
||||||
|
+++ b/libbrasero-burn/burn-plugin.c
|
||||||
|
@@ -221,21 +221,10 @@ brasero_plugin_test_app (BraseroPlugin *plugin,
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
- /* make sure that's not a symlink pointing to something with another
|
||||||
|
- * name like wodim.
|
||||||
|
- * NOTE: we used to test the target and see if it had the same name as
|
||||||
|
- * the symlink with GIO. The problem is, when the symlink pointed to
|
||||||
|
- * another symlink, then GIO didn't follow that other symlink. And in
|
||||||
|
- * the end it didn't work. So forbid all symlink. */
|
||||||
|
- if (g_file_test (prog_path, G_FILE_TEST_IS_SYMLINK)) {
|
||||||
|
- brasero_plugin_add_error (plugin,
|
||||||
|
- BRASERO_PLUGIN_ERROR_SYMBOLIC_LINK_APP,
|
||||||
|
- name);
|
||||||
|
- g_free (prog_path);
|
||||||
|
- return;
|
||||||
|
- }
|
||||||
|
+ /* disable symlink check on nixos */
|
||||||
|
+
|
||||||
|
/* Make sure it's a regular file */
|
||||||
|
- else if (!g_file_test (prog_path, G_FILE_TEST_IS_REGULAR)) {
|
||||||
|
+ if (!g_file_test (prog_path, G_FILE_TEST_IS_REGULAR)) {
|
||||||
|
brasero_plugin_add_error (plugin,
|
||||||
|
BRASERO_PLUGIN_ERROR_MISSING_APP,
|
||||||
|
name);
|
@ -679,6 +679,8 @@ let
|
|||||||
|
|
||||||
boxfs = callPackage ../tools/filesystems/boxfs { };
|
boxfs = callPackage ../tools/filesystems/boxfs { };
|
||||||
|
|
||||||
|
brasero = callPackage ../tools/cd-dvd/brasero { };
|
||||||
|
|
||||||
bro = callPackage ../applications/networking/ids/bro { };
|
bro = callPackage ../applications/networking/ids/bro { };
|
||||||
|
|
||||||
bsod = callPackage ../misc/emulators/bsod { };
|
bsod = callPackage ../misc/emulators/bsod { };
|
||||||
|
Loading…
Reference in New Issue
Block a user