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 { };
|
||||
|
||||
brasero = callPackage ../tools/cd-dvd/brasero { };
|
||||
|
||||
bro = callPackage ../applications/networking/ids/bro { };
|
||||
|
||||
bsod = callPackage ../misc/emulators/bsod { };
|
||||
|
Loading…
Reference in New Issue
Block a user