Package: guix-patches;
Reported by: Thomas Danckaert <post <at> thomasdanckaert.be>
Date: Wed, 26 Apr 2017 16:07:01 UTC
Severity: normal
Tags: patch
Done: Thomas Danckaert <post <at> thomasdanckaert.be>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 26669 in the body.
You can then email your comments to 26669 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
guix-patches <at> gnu.org
:bug#26669
; Package guix-patches
.
(Wed, 26 Apr 2017 16:07:02 GMT) Full text and rfc822 format available.Thomas Danckaert <post <at> thomasdanckaert.be>
:guix-patches <at> gnu.org
.
(Wed, 26 Apr 2017 16:07:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Thomas Danckaert <post <at> thomasdanckaert.be> To: guix-patches <at> gnu.org Subject: [PATCH 1/7] gnu: Add cdrtools. Date: Wed, 26 Apr 2017 18:05:34 +0200 (CEST)
[Message part 1 (text/plain, inline)]
Hi, this patch series adds a few CD/DVD/Blu Ray Disc burning tools. There is/has been some controversy about the license of cdrtools, with claims it cannot be distributed in binary form because it mixes CDDL and GPL code. As far as I understand, mkisofs is GPL, while the other executables are CDDL, and I do not really see the problem. If others disagree, or we want to be extra careful, I suppose we can disable substitutes for cdrtools, so we only distribute it as source? cdrtools also bundles a forked LGPL-licensed copy of cdparanoia. This is perhaps unfortunate, but I don't think it's easy to unbundle it (cdrtools doesn't build agains our current cdparanoia). Thomas
[0001-gnu-Add-cdrtools.patch (text/x-patch, inline)]
From 96fb5484e4a4d741da685ce63f578feb69bc016f Mon Sep 17 00:00:00 2001 From: Thomas Danckaert <thomas.danckaert <at> gmail.com> Date: Fri, 21 Apr 2017 15:54:20 +0200 Subject: [PATCH 1/7] gnu: Add cdrtools. * gnu/packages/cdrom.scm (cdrtools): New variable. * gnu/packages/patches/cdrtools-3.01-mkisofs-isoinfo.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/cdrom.scm | 63 ++- .../patches/cdrtools-3.01-mkisofs-isoinfo.patch | 514 +++++++++++++++++++++ 3 files changed, 577 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/cdrtools-3.01-mkisofs-isoinfo.patch diff --git a/gnu/local.mk b/gnu/local.mk index cb94d27e9..a2c56e03d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -513,6 +513,7 @@ dist_patch_DATA = \ %D%/packages/patches/calibre-drop-unrar.patch \ %D%/packages/patches/calibre-no-updates-dialog.patch \ %D%/packages/patches/cdparanoia-fpic.patch \ + %D%/packages/patches/cdrtools-3.01-mkisofs-isoinfo.patch \ %D%/packages/patches/ceph-disable-cpu-optimizations.patch \ %D%/packages/patches/ceph-disable-unittest-throttle.patch \ %D%/packages/patches/ceph-skip-collect-sys-info-test.patch \ diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm index 7e86753ab..69af39655 100644 --- a/gnu/packages/cdrom.scm +++ b/gnu/packages/cdrom.scm @@ -26,7 +26,7 @@ (define-module (gnu packages cdrom) #:use-module (guix download) #:use-module (guix packages) - #:use-module ((guix licenses) #:select (lgpl2.1+ gpl2 gpl2+ gpl3+)) + #:use-module ((guix licenses) #:select (lgpl2.1+ gpl2 gpl2+ gpl3+ cddl1.0)) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix build-system glib-or-gtk) @@ -197,6 +197,67 @@ extra-robust data verification, synchronization, error handling and scratch reconstruction capability.") (license gpl2))) ; libraries under lgpl2.1 +(define-public cdrtools + (package + (name "cdrtools") + (version "3.01") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://sourceforge/cdrtools/cdrtools-" version ".tar.bz2")) + (sha256 + (base32 + "03w6ypsmwwy4d7vh6zgwpc60v541vc5ywp8bdb758hbc4yv2wa7d")) + (patches (search-patches "cdrtools-3.01-mkisofs-isoinfo.patch")))) + (build-system gnu-build-system) + (inputs + `(("linux-headers" ,linux-libre-headers))) + (native-inputs + `(("coreutils" ,coreutils))) + (arguments + `(#:phases (modify-phases %standard-phases + (delete 'configure) + (add-before 'build 'set-linux-headers + (lambda _ + (substitute* "autoconf/configure" + (("/usr/src/linux") + (assoc-ref %build-inputs "linux-headers"))) + #t)) + (add-before 'build 'substitute-dirs + (lambda _ + (substitute* (append (find-files "DEFAULTS" "^Defaults\\.") + (find-files "DEFAULTS_ENG" "^Defaults\\.") + (find-files "TEMPLATES" "^Defaults\\.")) + (("/opt/schily") (assoc-ref %outputs "out"))) + #t)) + (replace 'build + (lambda _ + (zero? + (system* "make" "CONFIG_SHELL=sh" "CCOM=gcc" "RM=rm")))) + (replace 'install + (lambda _ + (zero? + (system* "make" + "RM=rm" "LN=ln" "SYMLINK=ln -s" + (string-append "INS_BASE=" (assoc-ref %outputs "out")) + (string-append "INS_RBASE=" (assoc-ref %outputs "out")) + "install" ))))) + #:tests? #f ; no tests + + ;; It's unclear if binaries can be distributed due to the mixing of CDDL + ;; and GPL code. + #:substitutable? #f)) + (synopsis "Command line utilities to manipulate and burn CD/DVD/BD images") + (description "cdrtools is a collection of command line utilities to create +CD's, DVD's or Blue Ray discs. The most important components are +@command{cdrecord}, a burning program, @command{cdda2wav}, a CD audio ripper +which uses libparanoia, and @command{mkisofs}, which can create various disc +images.") + (home-page "http://cdrtools.sourceforge.net/private/cdrecord.html") + + ;; mkisofs is GPL, the other programs are CDDL. + (license (list cddl1.0 gpl2)))) + (define-public dvdisaster (package (name "dvdisaster") diff --git a/gnu/packages/patches/cdrtools-3.01-mkisofs-isoinfo.patch b/gnu/packages/patches/cdrtools-3.01-mkisofs-isoinfo.patch new file mode 100644 index 000000000..9c817d419 --- /dev/null +++ b/gnu/packages/patches/cdrtools-3.01-mkisofs-isoinfo.patch @@ -0,0 +1,514 @@ +Patch for version 3.01, taken from upstream at +https://sourceforge.net/projects/cdrtools/files/cdrtools-3.01-fix-20151126-mkisofs-isoinfo.patch + +--- cdrtools-3.01.orig/mkisofs/diag/isoinfo.c 2015-07-22 20:36:45.000000000 +0000 ++++ cdrtools-3.01/mkisofs/diag/isoinfo.c 2015-11-17 19:35:40.000000000 +0000 +@@ -1,8 +1,8 @@ +-/* @(#)isoinfo.c 1.95 15/07/22 joerg */ ++/* @(#)isoinfo.c 1.100 15/11/17 joerg */ + #include <schily/mconfig.h> + #ifndef lint + static UConst char sccsid[] = +- "@(#)isoinfo.c 1.95 15/07/22 joerg"; ++ "@(#)isoinfo.c 1.100 15/11/17 joerg"; + #endif + /* + * File isodump.c - dump iso9660 directory information. +@@ -148,8 +148,10 @@ LOCAL char er_id[256]; + LOCAL int su_version = 0; + LOCAL int rr_version = 0; + LOCAL int aa_version = 0; ++LOCAL int cl_extent = 0; + LOCAL int ucs_level = 0; + LOCAL BOOL iso9660_inodes = FALSE; ++LOCAL uid_t myuid; + + #ifdef USE_FIND + LOCAL findn_t *find_node; /* syntaxtree from find_parse() */ +@@ -208,6 +210,9 @@ LOCAL void extract __PR((char *rootname + LOCAL void extract_file __PR((int f, + struct iso_directory_record * idr, + char *fname)); ++LOCAL void parse_cl_dir __PR((struct iso_directory_record *idr, ++ int extent)); ++LOCAL BOOL parse_de __PR((struct iso_directory_record *idr)); + LOCAL void parse_dir __PR((char * rootname, int extent, int len)); + LOCAL void usage __PR((int excode)); + EXPORT int main __PR((int argc, char *argv[])); +@@ -459,7 +464,6 @@ parse_rr(pnt, len, cont_flag) + int slen; + int xlen; + int ncount; +- int cl_extent; + int pl_extent; + int cont_extent, cont_offset, cont_size; + int flag1, flag2; +@@ -469,7 +473,7 @@ parse_rr(pnt, len, cont_flag) + + symlinkname[0] = 0; + +- cont_extent = cont_offset = cont_size = 0; ++ cl_extent = cont_extent = cont_offset = cont_size = 0; + + ncount = 0; + flag1 = -1; +@@ -714,6 +718,7 @@ struct todo + }; + + LOCAL struct todo *todo_idr = NULL; ++LOCAL struct todo **todo_pp = &todo_idr; + + LOCAL char *months[12] = {"Jan", "Feb", "Mar", "Apr", + "May", "Jun", "Jul", +@@ -962,8 +967,14 @@ static BOOL isfirst = TRUE; + close(f); + return; + setmode: +- fchmodat(AT_FDCWD, fname, fstat_buf.st_mode, AT_SYMLINK_NOFOLLOW); + fchownat(AT_FDCWD, fname, fstat_buf.st_uid, fstat_buf.st_gid, AT_SYMLINK_NOFOLLOW); ++ if (myuid != 0 && S_ISDIR(fstat_buf.st_mode)) { ++ /* ++ * Temporary hack until we have a dirstack like star. ++ */ ++ fstat_buf.st_mode |= S_IWUSR; ++ } ++ fchmodat(AT_FDCWD, fname, fstat_buf.st_mode, AT_SYMLINK_NOFOLLOW); + times[0].tv_sec = fstat_buf.st_atime; + times[0].tv_nsec = stat_ansecs(&fstat_buf); + times[1].tv_sec = fstat_buf.st_mtime; +@@ -1001,6 +1012,143 @@ extract_file(f, idr, fname) + } + } + ++ ++LOCAL void ++parse_cl_dir(idr, extent) ++ struct iso_directory_record *idr; ++ int extent; ++{ ++ char cl_name_buf[256*3]; ++ ++ strlcpy(cl_name_buf, name_buf, sizeof (cl_name_buf)); ++#ifdef USE_SCG ++ readsecs(extent - sector_offset, idr, 1); ++#else ++ lseek(fileno(infile), ((off_t)(extent - sector_offset)) << 11, SEEK_SET); ++ read(fileno(infile), idr, 2048); ++#endif ++ ++ if (parse_de(idr) && use_rock) ++ dump_rr(idr); ++ strlcpy(name_buf, cl_name_buf, sizeof (name_buf)); ++} ++ ++LOCAL BOOL ++parse_de(idr) ++ struct iso_directory_record *idr; ++{ ++ unsigned char uc; ++ ++ if (idr->length[0] == 0) ++ return (FALSE); ++ memset(&fstat_buf, 0, sizeof (fstat_buf)); ++ found_rr = 0; ++ name_buf[0] = xname[0] = 0; ++ fstat_buf.st_size = (off_t)(unsigned)isonum_733((unsigned char *)idr->size); ++ if (idr->flags[0] & 2) ++ fstat_buf.st_mode |= S_IFDIR; ++ else ++ fstat_buf.st_mode |= S_IFREG; ++ if (idr->name_len[0] == 1 && idr->name[0] == 0) ++ strcpy(name_buf, "."); ++ else if (idr->name_len[0] == 1 && idr->name[0] == 1) ++ strcpy(name_buf, ".."); ++ else { ++ switch (ucs_level) { ++ case 3: ++ case 2: ++ case 1: ++ /* ++ * Unicode name. Convert as best we can. ++ */ ++ { ++ int j; ++ name_buf[0] = '\0'; ++#ifdef USE_ICONV ++ if (use_iconv(unls)) { ++ int u; ++ char *to = name_buf; ++ ++ for (j = 0, u = 0; j < (int)idr->name_len[0] / 2; j++) { ++ char *ibuf = (char *)&idr->name[j*2]; ++ size_t isize = 2; /* UCS-2 character size */ ++ size_t osize = 4; ++ ++ if (iconv(unls->sic_uni2cd, (__IC_CONST char **)&ibuf, &isize, ++ (char **)&to, &osize) == -1) { ++ int err = geterrno(); ++ ++ if ((err == EINVAL || err == EILSEQ) && ++ osize == 4) { ++ *to = '_'; ++ u += 1; ++ to++; ++ } ++ } else { ++ u += 4 - osize; ++ to = &name_buf[u]; ++ } ++ } ++ j = u; ++ } else ++#endif ++ for (j = 0; j < (int)idr->name_len[0] / 2; j++) { ++ UInt16_t unichar; ++ ++ unichar = (idr->name[j*2] & 0xFF) * 256 + ++ (idr->name[j*2+1] & 0xFF); ++ ++ /* ++ * Get the backconverted char ++ */ ++ if (unls) ++ uc = sic_uni2c(unls, unichar); ++ else ++ uc = unichar > 255 ? '_' : unichar; ++ ++ name_buf[j] = uc ? uc : '_'; ++ } ++ name_buf[j] = '\0'; ++ } ++ break; ++ case 0: ++ /* ++ * Normal non-Unicode name. ++ */ ++ strncpy(name_buf, idr->name, idr->name_len[0]); ++ name_buf[idr->name_len[0]] = 0; ++ break; ++ default: ++ /* ++ * Don't know how to do these yet. Maybe they are the same ++ * as one of the above. ++ */ ++ exit(1); ++ } ++ } ++ memcpy(date_buf, idr->date, 9); ++ /* ++ * Always first set up time stamps and file modes from ++ * ISO-9660. This is used as a fallback in case that ++ * there is no related Rock Ridge based data. ++ */ ++ fstat_buf.st_atime = ++ fstat_buf.st_mtime = ++ fstat_buf.st_ctime = iso9660_time(date_buf, NULL, FALSE); ++ fstat_buf.st_mode |= S_IRUSR|S_IXUSR | ++ S_IRGRP|S_IXGRP | ++ S_IROTH|S_IXOTH; ++ fstat_buf.st_nlink = 1; ++ fstat_buf.st_ino = 0; ++ fstat_buf.st_uid = 0; ++ fstat_buf.st_gid = 0; ++ if (iso9660_inodes) { ++ fstat_buf.st_ino = (unsigned long) ++ isonum_733((unsigned char *)idr->extent); ++ } ++ return (TRUE); ++} ++ + LOCAL void + parse_dir(rootname, extent, len) + char *rootname; +@@ -1012,12 +1160,13 @@ parse_dir(rootname, extent, len) + struct iso_directory_record * idr; + struct iso_directory_record didr; + struct stat dstat; +- unsigned char uc; ++ unsigned char cl_buffer[2048]; + unsigned char flags = 0; + Llong size = 0; + int sextent = 0; + int rlen; + int blen; ++ int rr_flags = 0; + static char *n = 0; + static int nlen = 0; + +@@ -1039,115 +1188,23 @@ static int nlen = 0; + i = 0; + while (1 == 1) { + idr = (struct iso_directory_record *) &buffer[i]; +- if (idr->length[0] == 0) break; +- memset(&fstat_buf, 0, sizeof (fstat_buf)); +- found_rr = 0; +- name_buf[0] = xname[0] = 0; +- fstat_buf.st_size = (off_t)(unsigned)isonum_733((unsigned char *)idr->size); +- if (idr->flags[0] & 2) +- fstat_buf.st_mode |= S_IFDIR; +- else +- fstat_buf.st_mode |= S_IFREG; +- if (idr->name_len[0] == 1 && idr->name[0] == 0) +- strcpy(name_buf, "."); +- else if (idr->name_len[0] == 1 && idr->name[0] == 1) +- strcpy(name_buf, ".."); +- else { +- switch (ucs_level) { +- case 3: +- case 2: +- case 1: +- /* +- * Unicode name. Convert as best we can. +- */ +- { +- int j; +- +- name_buf[0] = '\0'; +-#ifdef USE_ICONV +- if (use_iconv(unls)) { +- int u; +- char *to = name_buf; +- +- for (j = 0, u = 0; j < (int)idr->name_len[0] / 2; j++) { +- char *ibuf = (char *)&idr->name[j*2]; +- size_t isize = 2; /* UCS-2 character size */ +- size_t osize = 4; +- +- if (iconv(unls->sic_uni2cd, (__IC_CONST char **)&ibuf, &isize, +- (char **)&to, &osize) == -1) { +- int err = geterrno(); +- +- if ((err == EINVAL || err == EILSEQ) && +- osize == 4) { +- *to = '_'; +- u += 1; +- to++; +- } +- } else { +- u += 4 - osize; +- to = &name_buf[u]; +- } +- } +- j = u; +- } else +-#endif +- for (j = 0; j < (int)idr->name_len[0] / 2; j++) { +- UInt16_t unichar; +- +- unichar = (idr->name[j*2] & 0xFF) * 256 + +- (idr->name[j*2+1] & 0xFF); +- +- /* +- * Get the backconverted char +- */ +- if (unls) +- uc = sic_uni2c(unls, unichar); +- else +- uc = unichar > 255 ? '_' : unichar; ++ if (idr->length[0] == 0) ++ break; ++ parse_de(idr); ++ if (use_rock) { ++ rr_flags = dump_rr(idr); + +- name_buf[j] = uc ? uc : '_'; +- } +- name_buf[j] = '\0'; +- } +- break; +- case 0: ++ if (rr_flags & RR_FLAG_CL) { + /* +- * Normal non-Unicode name. ++ * Need to reparse the child link ++ * but note that we parse "CL/." ++ * so we get no usable file name. + */ +- strncpy(name_buf, idr->name, idr->name_len[0]); +- name_buf[idr->name_len[0]] = 0; +- break; +- default: +- /* +- * Don't know how to do these yet. Maybe they are the same +- * as one of the above. +- */ +- exit(1); +- } ++ idr = (struct iso_directory_record *) cl_buffer; ++ parse_cl_dir(idr, cl_extent); ++ } else if (rr_flags & RR_FLAG_RE) ++ goto cont; /* skip rr_moved */ + } +- memcpy(date_buf, idr->date, 9); +- /* +- * Always first set up time stamps and file modes from +- * ISO-9660. This is used as a fallback in case that +- * there is no related Rock Ridge based data. +- */ +- fstat_buf.st_atime = +- fstat_buf.st_mtime = +- fstat_buf.st_ctime = iso9660_time(date_buf, NULL, FALSE); +- fstat_buf.st_mode |= S_IRUSR|S_IXUSR | +- S_IRGRP|S_IXGRP | +- S_IROTH|S_IXOTH; +- fstat_buf.st_nlink = 1; +- fstat_buf.st_ino = 0; +- fstat_buf.st_uid = 0; +- fstat_buf.st_gid = 0; +- if (iso9660_inodes) { +- fstat_buf.st_ino = (unsigned long) +- isonum_733((unsigned char *)idr->extent); +- } +- if (use_rock) +- dump_rr(idr); + if (Xtract && + (idr->flags[0] & 2) != 0 && + idr->name_len[0] == 1 && +@@ -1170,30 +1227,30 @@ static int nlen = 0; + n[rlen] = '\0'; + + if ((idr->flags[0] & 2) != 0 && +- (idr->name_len[0] != 1 || ++ ((rr_flags & RR_FLAG_CL) || ++ idr->name_len[0] != 1 || + (idr->name[0] != 0 && idr->name[0] != 1))) { + /* + * This is a plain directory (neither "xxx/." + * nor "xxx/.."). + * Add this directory to the todo list. + */ +- td = todo_idr; +- if (td != NULL) { +- while (td->next != NULL) +- td = td->next; +- td->next = (struct todo *) malloc(sizeof (*td)); +- td = td->next; +- } else { +- todo_idr = td = (struct todo *) malloc(sizeof (*td)); +- } ++ td = (struct todo *) malloc(sizeof (*td)); ++ if (td == NULL) ++ comerr(_("No memory.\n")); + td->next = NULL; + td->extent = isonum_733((unsigned char *)idr->extent); + td->length = isonum_733((unsigned char *)idr->size); + td->name = (char *) malloc(strlen(rootname) + + strlen(name_buf) + 2); ++ if (td->name == NULL) ++ comerr(_("No memory.\n")); + strcpy(td->name, rootname); + strcat(td->name, name_buf); + strcat(td->name, "/"); ++ ++ *todo_pp = td; ++ todo_pp = &td->next; + } else { + if (xtract && strcmp(xtract, n) == 0) { + extract_file(STDOUT_FILENO, idr, "stdout"); +@@ -1253,6 +1310,7 @@ static int nlen = 0; + if ((idr->flags[0] & ISO_MULTIEXTENT) == 0) + size = 0; + } ++ cont: + i += buffer[i]; + if (i > 2048 - offsetof(struct iso_directory_record, name[0])) break; + } +@@ -1381,12 +1439,13 @@ main(argc, argv) + usage(0); + if (prvers) { + printf(_("isoinfo %s (%s-%s-%s) Copyright (C) 1993-1999 %s (C) 1999-2015 %s\n"), +- VERSION, ++ "3.02a02", + HOST_CPU, HOST_VENDOR, HOST_OS, + _("Eric Youngdale"), + _("Joerg Schilling")); + exit(0); + } ++ myuid = getuid(); + #ifdef USE_FIND + if (do_find) { + finda_t fa; +--- cdrtools-3.01.orig/mkisofs/udf.c 2013-04-24 20:45:18.000000000 +0000 ++++ cdrtools-3.01/mkisofs/udf.c 2015-11-25 22:07:30.000000000 +0000 +@@ -1,15 +1,15 @@ +-/* @(#)udf.c 1.42 13/04/24 Copyright 2001-2013 J. Schilling */ ++/* @(#)udf.c 1.43 15/11/25 Copyright 2001-2015 J. Schilling */ + #include <schily/mconfig.h> + #ifndef lint + static UConst char sccsid[] = +- "@(#)udf.c 1.42 13/04/24 Copyright 2001-2013 J. Schilling"; ++ "@(#)udf.c 1.43 15/11/25 Copyright 2001-2015 J. Schilling"; + #endif + /* + * udf.c - UDF support for mkisofs + * + * Written by Ben Rudiak-Gould (2001). + * +- * Copyright 2001-2013 J. Schilling. ++ * Copyright 2001-2015 J. Schilling. + */ + /* + * This program is free software; you can redistribute it and/or modify +@@ -98,7 +98,7 @@ static UConst char sccsid[] = + extern int use_sparcboot; + + extern struct directory *root; +-extern time_t begun; ++extern struct timeval tv_begun; + + static unsigned lba_main_seq; + static unsigned lba_main_seq_copy; +@@ -110,7 +110,7 @@ static unsigned lba_end_anchor_vol_desc; + static unsigned num_udf_files; + static unsigned num_udf_directories; + +-static unsigned volume_set_id[2]; ++static unsigned volume_set_id[2] = { 0, 0 }; + + #define UDF_MAIN_SEQ_LENGTH (16) + #define UDF_INTEG_SEQ_LENGTH (2) +@@ -723,7 +723,7 @@ set_primary_vol_desc(buf, lba) + /*pvd->volume_abstract;*/ + /*pvd->volume_copyright_notice;*/ + /*pvd->application_ident;*/ +- set_timestamp_from_time_t(&pvd->recording_date_and_time, begun); ++ set_timestamp_from_time_t(&pvd->recording_date_and_time, tv_begun.tv_sec); + set_impl_ident(&pvd->impl_ident); + set_tag(&pvd->desc_tag, UDF_TAGID_PRIMARY_VOLUME_DESC, lba, 512); + } +@@ -831,7 +831,7 @@ set_logical_vol_integrity_desc(buf, lba) + udf_logical_volume_integrity_desc *lvid = + (udf_logical_volume_integrity_desc *)buf; + +- set_timestamp_from_time_t(&lvid->recording_date, begun); ++ set_timestamp_from_time_t(&lvid->recording_date, tv_begun.tv_sec); + set32(&lvid->integrity_type, UDF_INTEGRITY_TYPE_CLOSE); + /*lvid->next_integrity_extent;*/ + set64(&lvid->logical_volume_contents_use.unique_id, +@@ -859,7 +859,7 @@ set_file_set_desc(buf, rba) + { + udf_file_set_desc *fsd = (udf_file_set_desc *)buf; + +- set_timestamp_from_time_t(&fsd->recording_date_and_time, begun); ++ set_timestamp_from_time_t(&fsd->recording_date_and_time, tv_begun.tv_sec); + set16(&fsd->interchange_level, 3); + set16(&fsd->maximum_interchange_level, 3); + set32(&fsd->character_set_list, 1); +@@ -1986,8 +1986,10 @@ udf_main_seq_write(out) + * volume_set_id needs to be set to a (64-bit) "unique" number. + * This will have to do for now. + */ +- volume_set_id[0] = begun; +- volume_set_id[1] = (unsigned)clock(); /* XXX Maybe non-portable */ ++ if (volume_set_id[0] == 0) { ++ volume_set_id[0] = tv_begun.tv_sec; ++ volume_set_id[1] = (unsigned)tv_begun.tv_usec; ++ } + + memset(buf, 0, sizeof (buf)); + set_primary_vol_desc(buf, last_extent_written++); +--- cdrtools-3.01.orig/mkisofs/mkisofs.c 2015-01-01 14:19:51.000000000 +0000 ++++ cdrtools-3.01/mkisofs/mkisofs.c +@@ -69 +69 @@ int path_ind; +-char version_string[] = VERSION; ++char version_string[] = "3.01-fix-20151126"; -- 2.12.2
guix-patches <at> gnu.org
:bug#26669
; Package guix-patches
.
(Wed, 26 Apr 2017 16:33:01 GMT) Full text and rfc822 format available.Message #8 received at 26669 <at> debbugs.gnu.org (full text, mbox):
From: Thomas Danckaert <thomas.danckaert <at> gmail.com> To: 26669 <at> debbugs.gnu.org Cc: Thomas Danckaert <post <at> thomasdanckaert.be> Subject: [PATCH 3/7] gnu: brasero: Embed growisofs store item. Date: Wed, 26 Apr 2017 18:30:34 +0200
From: Thomas Danckaert <post <at> thomasdanckaert.be> * gnu/packages/gnome.scm (brasero)[arguments]: Add phase 'embed-growisofs. --- gnu/packages/gnome.scm | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index fc19318b9..ef56168bf 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -150,7 +150,14 @@ "/share/gir-1.0") (string-append "--with-typelibdir=" (assoc-ref %outputs "out") - "/lib/girepository-1.0")))) + "/lib/girepository-1.0")) + #:phases + (modify-phases %standard-phases + (add-before 'configure 'embed-growisofs + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "plugins/growisofs/burn-growisofs.c" + (("\"growisofs") (string-append "\"" (which "growisofs")))) + #t ))))) (propagated-inputs `(("hicolor-icon-theme" ,hicolor-icon-theme))) (native-inputs @@ -159,7 +166,8 @@ ("gobject-introspection" ,gobject-introspection) ("pkg-config" ,pkg-config))) (inputs - `(("glib" ,glib) + `(("dvd+rw-tools" ,dvd+rw-tools) + ("glib" ,glib) ("gnome-doc-utils" ,gnome-doc-utils) ("gstreamer" ,gstreamer) ("gst-plugins-base" ,gst-plugins-base) -- 2.12.2
guix-patches <at> gnu.org
:bug#26669
; Package guix-patches
.
(Wed, 26 Apr 2017 16:33:02 GMT) Full text and rfc822 format available.Message #11 received at 26669 <at> debbugs.gnu.org (full text, mbox):
From: Thomas Danckaert <thomas.danckaert <at> gmail.com> To: 26669 <at> debbugs.gnu.org Cc: Thomas Danckaert <post <at> thomasdanckaert.be> Subject: [PATCH 2/7] gnu: Add dvd+rw-tools. Date: Wed, 26 Apr 2017 18:30:33 +0200
From: Thomas Danckaert <post <at> thomasdanckaert.be> * gnu/packages/cdrom.scm (dvd+rw-tools): New variable. * gnu/packages/patches/dvd+rw-tools-add-include.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/cdrom.scm | 44 ++++++++++++++++++++++ .../patches/dvd+rw-tools-add-include.patch | 14 +++++++ 3 files changed, 59 insertions(+) create mode 100644 gnu/packages/patches/dvd+rw-tools-add-include.patch diff --git a/gnu/local.mk b/gnu/local.mk index a2c56e03d..22431ddc0 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -544,6 +544,7 @@ dist_patch_DATA = \ %D%/packages/patches/doc++-include-directives.patch \ %D%/packages/patches/doc++-segfault-fix.patch \ %D%/packages/patches/doxygen-test.patch \ + %D%/packages/patches/dvd+rw-tools-add-include.patch \ %D%/packages/patches/elfutils-tests-ptrace.patch \ %D%/packages/patches/elixir-disable-failing-tests.patch \ %D%/packages/patches/einstein-build.patch \ diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm index 69af39655..5c1ac4a50 100644 --- a/gnu/packages/cdrom.scm +++ b/gnu/packages/cdrom.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2016 Alex Kost <alezost <at> gmail.com> ;;; Copyright © 2016 Marius Bakke <mbakke <at> fastmail.com> ;;; Copyright © 2017 John Darrington <jmd <at> gnu.org> +;;; Copyright © 2017 Thomas Danckaert <post <at> thomasdanckaert.be> ;;; ;;; This file is part of GNU Guix. ;;; @@ -41,6 +42,7 @@ #:use-module (gnu packages gtk) #:use-module (gnu packages glib) #:use-module (gnu packages man) + #:use-module (gnu packages m4) #:use-module (gnu packages mp3) #:use-module (gnu packages ncurses) #:use-module (gnu packages elf) @@ -258,6 +260,48 @@ images.") ;; mkisofs is GPL, the other programs are CDDL. (license (list cddl1.0 gpl2)))) +(define-public dvd+rw-tools + (package + (name "dvd+rw-tools") + (version "7.1") + (source (origin + (method url-fetch) + (uri (string-append + "http://fy.chalmers.se/~appro/linux/DVD+RW/tools/dvd+rw-tools-" + version ".tar.gz")) + (sha256 + (base32 + "1jkjvvnjcyxpql97xjjx0kwvy70kxpiznr2zpjy2hhci5s10zmpq")) + (patches (search-patches "dvd+rw-tools-add-include.patch")))) + (build-system gnu-build-system) + (inputs + `(("cdrtools" ,cdrtools))) + (native-inputs + `(("m4" ,m4))) + (arguments + `(#:tests? #f ; No tests. + #:phases + (modify-phases %standard-phases + (replace 'configure + (lambda _ (setenv "prefix" (assoc-ref %outputs "out")) #t)) + (add-before 'build 'embed-mkisofs + (lambda* (#:key inputs #:allow-other-keys) + ;; We use sed --in-place because substitute* cannot handle the + ;; character encoding used by growisofs.c. + (system* "sed" "-i" "-e" + (string-append + "s,\"mkisofs\"," + "\"" (assoc-ref inputs "cdrtools") "/bin/mkisofs\",") + "growisofs.c") + #t))))) + (home-page "http://fy.chalmers.se/~appro/linux/DVD+RW/") + (synopsis "DVD and Blu-ray Disc burning tools") + (description "dvd+rw-tools, mostly known for its command +@command{growisofs}, is a collection of DVD and Blu-ray Disc burning tools. +It requires another program, such as @command{mkisofs}, @command{genisoimage}, +or @command{xorrisofs} to create ISO 9660 images.") + (license gpl2))) + (define-public dvdisaster (package (name "dvdisaster") diff --git a/gnu/packages/patches/dvd+rw-tools-add-include.patch b/gnu/packages/patches/dvd+rw-tools-add-include.patch new file mode 100644 index 000000000..800f8f30b --- /dev/null +++ b/gnu/packages/patches/dvd+rw-tools-add-include.patch @@ -0,0 +1,14 @@ +Without <limits.h>, INT_MAX is not defined. + +diff --git a/transport.hxx b/transport.hxx +index 35a57a7..838add6 100644 +--- a/transport.hxx ++++ b/transport.hxx +@@ -11,6 +11,7 @@ + #include <stdlib.h> + #include <unistd.h> + #include <string.h> ++#include <limits.h> + #include <sys/types.h> + #include <sys/stat.h> + #include <fcntl.h> -- 2.12.2
guix-patches <at> gnu.org
:bug#26669
; Package guix-patches
.
(Wed, 26 Apr 2017 16:33:02 GMT) Full text and rfc822 format available.Message #14 received at 26669 <at> debbugs.gnu.org (full text, mbox):
From: Thomas Danckaert <thomas.danckaert <at> gmail.com> To: 26669 <at> debbugs.gnu.org Cc: Thomas Danckaert <post <at> thomasdanckaert.be> Subject: [PATCH 4/7] gnu: Add dvdauthor. Date: Wed, 26 Apr 2017 18:30:35 +0200
From: Thomas Danckaert <post <at> thomasdanckaert.be> * gnu/packages/video.scm (dvdauthor): New variable. --- gnu/packages/video.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index cc07cc712..b04956a00 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -17,6 +17,7 @@ ;;; Copyright © 2017 Feng Shu <tumashu <at> 163.com> ;;; Copyright © 2017 Tobias Geerinckx-Rice <me <at> tobias.gr> ;;; Copyright © 2017 Chris Marusich <cmmarusich <at> gmail.com> +;;; Copyright © 2017 Thomas Danckaert <post <at> thomasdanckaert.be> ;;; ;;; This file is part of GNU Guix. ;;; @@ -75,6 +76,7 @@ #:use-module (gnu packages gstreamer) #:use-module (gnu packages gtk) #:use-module (gnu packages image) + #:use-module (gnu packages imagemagick) #:use-module (gnu packages linux) #:use-module (gnu packages lua) #:use-module (gnu packages m4) @@ -1193,6 +1195,33 @@ authentication and descrambling (if an external libdvdcss library is installed).") (license license:gpl2+))) +(define-public dvdauthor + (package + (name "dvdauthor") + (version "0.7.2") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/dvdauthor/dvdauthor-" + version ".tar.gz")) + (sha256 + (base32 + "1drfc47hikfzc9d7hjk34rw10iqw01d2vwmn91pv73ppx4nsj81h")))) + (build-system gnu-build-system) + (inputs + `(("libdvdread" ,libdvdread) + ("libpng" ,libpng) + ("imagemagick" ,imagemagick) + ("libxml2" ,libxml2) + ("freetype" ,freetype))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (synopsis "Generates a DVD-Video movie from a MPEG-2 stream") + (description "@command{dvdauthor} will generate a DVD-Video movie from a +MPEG-2 stream containing VOB packets.") + (home-page "http://dvdauthor.sourceforge.net") + (license license:gpl3+))) + (define-public libdvdnav (package (name "libdvdnav") -- 2.12.2
guix-patches <at> gnu.org
:bug#26669
; Package guix-patches
.
(Wed, 26 Apr 2017 16:33:03 GMT) Full text and rfc822 format available.Message #17 received at 26669 <at> debbugs.gnu.org (full text, mbox):
From: Thomas Danckaert <thomas.danckaert <at> gmail.com> To: 26669 <at> debbugs.gnu.org Cc: Thomas Danckaert <post <at> thomasdanckaert.be> Subject: [PATCH 5/7] gnu: Add wxwidgets-3.1. Date: Wed, 26 Apr 2017 18:30:36 +0200
From: Thomas Danckaert <post <at> thomasdanckaert.be> * gnu/packages/wxwidgets.scm (wxwidgets-3.1): New variable. --- gnu/packages/wxwidgets.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/wxwidgets.scm b/gnu/packages/wxwidgets.scm index 077195cca..bd6ffec0f 100644 --- a/gnu/packages/wxwidgets.scm +++ b/gnu/packages/wxwidgets.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2016 Theodoros Foradis <theodoros.for <at> openmailbox.org> ;;; Copyright © 2016 Danny Milosavljevic <dannym <at> scratchpost.org> ;;; Copyright © 2017 Rene Saavedra <rennes <at> openmailbox.org> +;;; Copyright © 2017 Thomas Danckaert <post <at> thomasdanckaert.be> ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,6 +28,7 @@ #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system python) #:use-module (guix build utils) + #:use-module (guix utils) #:use-module (gnu packages) #:use-module (gnu packages compression) #:use-module (gnu packages databases) @@ -97,6 +99,27 @@ and many other languages.") (package-inputs wxwidgets)))) (name "wxwidgets-gtk2"))) +;; Development version of wxWidgets, required to build against gstreamer-1.x. +;; This can be removed when wxWidgets is updated to the next stable version. +(define-public wxwidgets-3.1 + (package (inherit wxwidgets) + (version "3.1.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/wxWidgets/wxWidgets/archive/v" + version ".tar.gz")) + (file-name (string-append "wxwidgets-" version ".tar.gz")) + (sha256 + (base32 "1yan5ysjwh6a7xw82sfjd1xn0nsy1dn2s0cx9ac7cw19191blc3y")))) + (inputs `(("gstreamer" ,gstreamer) + ("gst-plugins-base" ,gst-plugins-base) + ,@(package-inputs wxwidgets))) + (arguments + (substitute-keyword-arguments (package-arguments wxwidgets) + ((#:configure-flags flags) + `(cons "--enable-mediactrl" ,flags)))))) + (define-public python2-wxpython (package (name "python2-wxpython") -- 2.12.2
guix-patches <at> gnu.org
:bug#26669
; Package guix-patches
.
(Wed, 26 Apr 2017 16:33:03 GMT) Full text and rfc822 format available.Message #20 received at 26669 <at> debbugs.gnu.org (full text, mbox):
From: Thomas Danckaert <thomas.danckaert <at> gmail.com> To: 26669 <at> debbugs.gnu.org Cc: Thomas Danckaert <post <at> thomasdanckaert.be> Subject: [PATCH 6/7] gnu: Add wxsvg. Date: Wed, 26 Apr 2017 18:30:37 +0200
From: Thomas Danckaert <post <at> thomasdanckaert.be> * gnu/packages/wxwidgets.scm (wxsvg): New variable. --- gnu/packages/wxwidgets.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/wxwidgets.scm b/gnu/packages/wxwidgets.scm index bd6ffec0f..b603fe588 100644 --- a/gnu/packages/wxwidgets.scm +++ b/gnu/packages/wxwidgets.scm @@ -36,6 +36,8 @@ #:use-module (gnu packages gstreamer) #:use-module (gnu packages gtk) #:use-module (gnu packages image) + #:use-module (gnu packages photo) + #:use-module (gnu packages video) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages sdl) @@ -190,3 +192,30 @@ and many other languages.") (description "@code{wxpython} provides Python 2 bindings for wxWidgets.") (home-page "http://wxpython.org/") (license (package-license wxwidgets)))) + +(define-public wxsvg + (package + (name "wxsvg") + (version "1.5.11") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/wxsvg/wxsvg/" + version "/wxsvg-" version ".tar.bz2")) + (sha256 + (base32 + "0m3ff8mjiq4hvy8rmxyc9fkpf24xwxhvr3a6jmvr2q5zc41xhz7x")))) + (build-system glib-or-gtk-build-system) + (inputs + `(("wxwidgets" ,wxwidgets-3.1) + ("cairo" ,cairo) + ("pango" ,pango) + ("libexif" ,libexif) + ("ffmpeg" ,ffmpeg))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (synopsis "C++ library to create, manipulate and render SVG files") + (description "wxSVG is a C++ library to create, manipulate and render +@dfn{Scalable Vector Graphics} (SVG) files with the wxWidgets toolkit.") + (home-page "http://wxsvg.sourceforge.net") + (license (list l:lgpl2.0+ (l:fsf-free "file://COPYING"))))) -- 2.12.2
guix-patches <at> gnu.org
:bug#26669
; Package guix-patches
.
(Wed, 26 Apr 2017 16:33:04 GMT) Full text and rfc822 format available.Message #23 received at 26669 <at> debbugs.gnu.org (full text, mbox):
From: Thomas Danckaert <thomas.danckaert <at> gmail.com> To: 26669 <at> debbugs.gnu.org Cc: Thomas Danckaert <post <at> thomasdanckaert.be> Subject: [PATCH 7/7] gnu: Add dvdstyler. Date: Wed, 26 Apr 2017 18:30:38 +0200
From: Thomas Danckaert <post <at> thomasdanckaert.be> * gnu/packages/cdrom.scm (dvdstyler): New variable. --- gnu/packages/cdrom.scm | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm index 5c1ac4a50..eb8a82f30 100644 --- a/gnu/packages/cdrom.scm +++ b/gnu/packages/cdrom.scm @@ -37,8 +37,12 @@ #:use-module (gnu packages audio) #:use-module (gnu packages bison) #:use-module (gnu packages compression) + #:use-module (gnu packages zip) #:use-module (gnu packages flex) + #:use-module (gnu packages fontutils) #:use-module (gnu packages gettext) + #:use-module (gnu packages docbook) + #:use-module (gnu packages xml) #:use-module (gnu packages gtk) #:use-module (gnu packages glib) #:use-module (gnu packages man) @@ -46,11 +50,16 @@ #:use-module (gnu packages mp3) #:use-module (gnu packages ncurses) #:use-module (gnu packages elf) + #:use-module (gnu packages wxwidgets) + #:use-module (gnu packages linux) #:use-module (gnu packages pkg-config) #:use-module (gnu packages readline) #:use-module (gnu packages base) #:use-module (gnu packages perl) #:use-module (gnu packages python) + #:use-module (gnu packages image) + #:use-module (gnu packages photo) + #:use-module (gnu packages video) #:use-module (gnu packages wget) #:use-module (gnu packages xiph)) @@ -343,6 +352,69 @@ depend on the file system of the medium. The maximum error correction capacity is user-selectable.") (license gpl2+))) +(define-public dvdstyler + (package + (name "dvdstyler") + (version "3.0.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/dvdstyler/dvdstyler/" + version "/DVDStyler-" version ".tar.bz2")) + (sha256 + (base32 + "1j432kszmwmsd3nz398h5514dbm5vsrn4rr3iil72ckjj1h3i00q")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags (list (string-append "XMLTO=" + (assoc-ref %build-inputs "xmlto") + "/bin/xmlto" + " --searchpath " + (assoc-ref %build-inputs "docbook-xsl") + "/xml/xsl/docbook-xsl-1.79.1/htmlhelp:" + (assoc-ref %build-inputs "docbook-xml") + "/xml/dtd/docbook")) + #:phases + (modify-phases %standard-phases + (add-after 'install 'wrap-program + (lambda* (#:key inputs outputs #:allow-other-keys) + (wrap-program (string-append (assoc-ref outputs "out") "/bin/dvdstyler") + `("PATH" ":" prefix + (,(string-join + (map (lambda (in) (string-append (assoc-ref inputs in) "/bin")) + '("cdrtools" "dvdauthor" "dvd+rw-tools" "ffmpeg")) + ":"))))))) + #:tests? #f)) ; No tests. + (inputs ; TODO package bundled wxvillalib + `(("wxwidgets" ,wxwidgets-3.1) + ("wssvg" ,wxsvg) + ("dbus" ,dbus) + ("cdrtools" ,cdrtools) + ("dvd+rw-tools" ,dvd+rw-tools) + ("dvdauthor" ,dvdauthor) + ("eudev" ,eudev) + ("fontconfig" ,fontconfig) + ("libexif" ,libexif) + ("libjpeg" ,libjpeg) + ("ffmpeg" ,ffmpeg))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("flex" ,flex) + ("python" ,python-2) + ("xmlto" ,xmlto) + ("gettext" ,gnu-gettext) + ("docbook-xml" ,docbook-xml) + ("docbook-xsl" ,docbook-xsl) + ("zip" ,zip))) + (synopsis "DVD authoring application") + (description "DVDStyler is a DVD authoring application which allows users +to burn video files in many formats to DVD discs, complete with individually +designed menus. It can be used to create professional-looking DVD's with +custom buttons, backgrounds and animations, from within a user-friendly +graphical interface.") + (home-page "https://www.dvdstyler.org") + (license gpl2))) + (define-public libcue (package (name "libcue") -- 2.12.2
guix-patches <at> gnu.org
:bug#26669
; Package guix-patches
.
(Wed, 26 Apr 2017 17:01:01 GMT) Full text and rfc822 format available.Message #26 received at 26669 <at> debbugs.gnu.org (full text, mbox):
From: Mathieu Othacehe <m.othacehe <at> gmail.com> To: Thomas Danckaert <post <at> thomasdanckaert.be> Cc: 26669 <at> debbugs.gnu.org Subject: Re: bug#26669: [PATCH 1/7] gnu: Add cdrtools. Date: Wed, 26 Apr 2017 18:59:53 +0200
Hi Thomas, Thanks for the patches ! Without going into details, it seems to me that you have indentation issues in this serie. > +(define-public cdrtools > + (package From here indentation is broken. > + (name "cdrtools") > + (version "3.01") > + (source (origin > + (method url-fetch) > + (uri (string-append > + "mirror://sourceforge/cdrtools/cdrtools-" version ".tar.bz2")) > + (sha256 > + (base32 > + "03w6ypsmwwy4d7vh6zgwpc60v541vc5ywp8bdb758hbc4yv2wa7d")) > + (patches (search-patches "cdrtools-3.01-mkisofs-isoinfo.patch")))) > + (build-system gnu-build-system) > + (inputs > + `(("linux-headers" ,linux-libre-headers))) > + (native-inputs > + `(("coreutils" ,coreutils))) > + (arguments > + `(#:phases (modify-phases %standard-phases > + (delete 'configure) > + (add-before 'build 'set-linux-headers > + (lambda _ > + (substitute* "autoconf/configure" > + (("/usr/src/linux") > + (assoc-ref %build-inputs "linux-headers"))) > + #t)) > + (add-before 'build 'substitute-dirs > + (lambda _ > + (substitute* (append (find-files "DEFAULTS" "^Defaults\\.") > + (find-files "DEFAULTS_ENG" "^Defaults\\.") Please keep all lines in *.scm files to 80 columns or less. > + (find-files "TEMPLATES" "^Defaults\\.")) > + (("/opt/schily") (assoc-ref %outputs "out"))) > + #t)) Thanks, Mathieu
guix-patches <at> gnu.org
:bug#26669
; Package guix-patches
.
(Wed, 26 Apr 2017 17:16:02 GMT) Full text and rfc822 format available.Message #29 received at 26669 <at> debbugs.gnu.org (full text, mbox):
From: Danny Milosavljevic <dannym <at> scratchpost.org> To: Thomas Danckaert <thomas.danckaert <at> gmail.com> Cc: Thomas Danckaert <post <at> thomasdanckaert.be>, 26669 <at> debbugs.gnu.org Subject: Re: bug#26669: [PATCH 2/7] gnu: Add dvd+rw-tools. Date: Wed, 26 Apr 2017 19:15:49 +0200
On Wed, 26 Apr 2017 18:30:33 +0200 Thomas Danckaert <thomas.danckaert <at> gmail.com> wrote: > + (lambda* (#:key inputs #:allow-other-keys) > + ;; We use sed --in-place because substitute* cannot handle the > + ;; character encoding used by growisofs.c. > + (system* "sed" "-i" "-e" > + (string-append > + "s,\"mkisofs\"," > + "\"" (assoc-ref inputs "cdrtools") "/bin/mkisofs\",") > + "growisofs.c") > + #t))))) Maybe rather use (zero? (system* ...)) instead of (system* ...) #t Otherwise LGTM!
guix-patches <at> gnu.org
:bug#26669
; Package guix-patches
.
(Thu, 27 Apr 2017 18:51:02 GMT) Full text and rfc822 format available.Message #32 received at 26669 <at> debbugs.gnu.org (full text, mbox):
From: Danny Milosavljevic <dannym <at> scratchpost.org> To: Thomas Danckaert <thomas.danckaert <at> gmail.com> Cc: Thomas Danckaert <post <at> thomasdanckaert.be>, 26669 <at> debbugs.gnu.org Subject: Re: bug#26669: [PATCH 4/7] gnu: Add dvdauthor. Date: Thu, 27 Apr 2017 20:50:27 +0200
LGTM!
guix-patches <at> gnu.org
:bug#26669
; Package guix-patches
.
(Fri, 28 Apr 2017 05:55:01 GMT) Full text and rfc822 format available.Message #35 received at 26669 <at> debbugs.gnu.org (full text, mbox):
From: Danny Milosavljevic <dannym <at> scratchpost.org> To: Thomas Danckaert <thomas.danckaert <at> gmail.com> Cc: Thomas Danckaert <post <at> thomasdanckaert.be>, 26669 <at> debbugs.gnu.org Subject: Re: bug#26669: [PATCH 3/7] gnu: brasero: Embed growisofs store item. Date: Fri, 28 Apr 2017 07:54:20 +0200
Please also mention the added input "dvd+rw-tools".
guix-patches <at> gnu.org
:bug#26669
; Package guix-patches
.
(Wed, 03 May 2017 13:00:02 GMT) Full text and rfc822 format available.Message #38 received at 26669 <at> debbugs.gnu.org (full text, mbox):
From: ludo <at> gnu.org (Ludovic Courtès) To: Thomas Danckaert <post <at> thomasdanckaert.be> Cc: 26669 <at> debbugs.gnu.org Subject: Re: bug#26669: [PATCH 1/7] gnu: Add cdrtools. Date: Wed, 03 May 2017 14:59:12 +0200
Hi! Thomas Danckaert <post <at> thomasdanckaert.be> skribis: > There is/has been some controversy about the license of cdrtools, with > claims it cannot be distributed in binary form because it mixes CDDL > and GPL code. As far as I understand, mkisofs is GPL, while the other > executables are CDDL, and I do not really see the problem. If others > disagree, or we want to be extra careful, I suppose we can disable > substitutes for cdrtools, so we only distribute it as source? We could do that if needed. From your description it’s not clear to me either what the problem is though. It’s a case where I would recommend checking <https://libreplanet.org/wiki/Software_blacklist> (apparently there’s nothing about it) or Debian. :-) > cdrtools also bundles a forked LGPL-licensed copy of cdparanoia. This > is perhaps unfortunate, but I don't think it's easy to unbundle it > (cdrtools doesn't build agains our current cdparanoia). Just leave an XXX explaining this. A couple of comments to complement what Mathieu wrote: >>From 96fb5484e4a4d741da685ce63f578feb69bc016f Mon Sep 17 00:00:00 2001 > From: Thomas Danckaert <thomas.danckaert <at> gmail.com> > Date: Fri, 21 Apr 2017 15:54:20 +0200 > Subject: [PATCH 1/7] gnu: Add cdrtools. > > * gnu/packages/cdrom.scm (cdrtools): New variable. > * gnu/packages/patches/cdrtools-3.01-mkisofs-isoinfo.patch: New file. > * gnu/local.mk (dist_patch_DATA): Add it. [...] > + (inputs > + `(("linux-headers" ,linux-libre-headers))) > + (native-inputs > + `(("coreutils" ,coreutils))) These are implicit inputs already so you can remove them. > +++ b/gnu/packages/patches/cdrtools-3.01-mkisofs-isoinfo.patch > @@ -0,0 +1,514 @@ > +Patch for version 3.01, taken from upstream at > +https://sourceforge.net/projects/cdrtools/files/cdrtools-3.01-fix-20151126-mkisofs-isoinfo.patch It would be nice to add a few words about what it does, like “Fix compilation with recent glibc” or something. Ludo’.
guix-patches <at> gnu.org
:bug#26669
; Package guix-patches
.
(Wed, 03 May 2017 13:01:02 GMT) Full text and rfc822 format available.Message #41 received at 26669 <at> debbugs.gnu.org (full text, mbox):
From: ludo <at> gnu.org (Ludovic Courtès) To: Thomas Danckaert <thomas.danckaert <at> gmail.com> Cc: Thomas Danckaert <post <at> thomasdanckaert.be>, 26669 <at> debbugs.gnu.org Subject: Re: bug#26669: [PATCH 5/7] gnu: Add wxwidgets-3.1. Date: Wed, 03 May 2017 15:00:33 +0200
Thomas Danckaert <thomas.danckaert <at> gmail.com> skribis: > From: Thomas Danckaert <post <at> thomasdanckaert.be> > > * gnu/packages/wxwidgets.scm (wxwidgets-3.1): New variable. LGTM, thanks!
guix-patches <at> gnu.org
:bug#26669
; Package guix-patches
.
(Wed, 03 May 2017 13:03:02 GMT) Full text and rfc822 format available.Message #44 received at 26669 <at> debbugs.gnu.org (full text, mbox):
From: ludo <at> gnu.org (Ludovic Courtès) To: Thomas Danckaert <thomas.danckaert <at> gmail.com> Cc: Thomas Danckaert <post <at> thomasdanckaert.be>, 26669 <at> debbugs.gnu.org Subject: Re: bug#26669: [PATCH 6/7] gnu: Add wxsvg. Date: Wed, 03 May 2017 15:02:17 +0200
Thomas Danckaert <thomas.danckaert <at> gmail.com> skribis: > From: Thomas Danckaert <post <at> thomasdanckaert.be> > > * gnu/packages/wxwidgets.scm (wxsvg): New variable. [...] > + (home-page "http://wxsvg.sourceforge.net") > + (license (list l:lgpl2.0+ (l:fsf-free "file://COPYING"))))) Please add a comment explaining what is meant here (the kind of license that appears in COPYING, whether we’re talking of a combination of licenses or a choice users can make, etc.) OK with this change, thanks! Ludo’.
guix-patches <at> gnu.org
:bug#26669
; Package guix-patches
.
(Wed, 03 May 2017 13:06:02 GMT) Full text and rfc822 format available.Message #47 received at 26669 <at> debbugs.gnu.org (full text, mbox):
From: ludo <at> gnu.org (Ludovic Courtès) To: Thomas Danckaert <thomas.danckaert <at> gmail.com> Cc: Thomas Danckaert <post <at> thomasdanckaert.be>, 26669 <at> debbugs.gnu.org Subject: Re: bug#26669: [PATCH 7/7] gnu: Add dvdstyler. Date: Wed, 03 May 2017 15:04:47 +0200
Thomas Danckaert <thomas.danckaert <at> gmail.com> skribis: > From: Thomas Danckaert <post <at> thomasdanckaert.be> > > * gnu/packages/cdrom.scm (dvdstyler): New variable. [...] > + (arguments > + `(#:configure-flags (list (string-append "XMLTO=" > + (assoc-ref %build-inputs "xmlto") > + "/bin/xmlto" > + " --searchpath " > + (assoc-ref %build-inputs "docbook-xsl") > + "/xml/xsl/docbook-xsl-1.79.1/htmlhelp:" > + (assoc-ref %build-inputs "docbook-xml") > + "/xml/dtd/docbook")) I'd expect that adding libxml2 as an input would lead to the appropriate definition of XML_CATALOG_FILES, and thus remove the need for these #:configure-flags. Could you try that? > + #:phases > + (modify-phases %standard-phases > + (add-after 'install 'wrap-program > + (lambda* (#:key inputs outputs #:allow-other-keys) > + (wrap-program (string-append (assoc-ref outputs "out") "/bin/dvdstyler") > + `("PATH" ":" prefix > + (,(string-join > + (map (lambda (in) (string-append (assoc-ref inputs in) "/bin")) > + '("cdrtools" "dvdauthor" "dvd+rw-tools" "ffmpeg")) <-------' Identation. :-) > + ":"))))))) Please return #t at the end of the phase. > + (license gpl2))) GPLv2-only, right? Otherwise LGTM, thanks! Ludo’.
guix-patches <at> gnu.org
:bug#26669
; Package guix-patches
.
(Wed, 10 May 2017 07:50:02 GMT) Full text and rfc822 format available.Message #50 received at 26669 <at> debbugs.gnu.org (full text, mbox):
From: Thomas Danckaert <post <at> thomasdanckaert.be> To: ludo <at> gnu.org, Danny Milosavljevic <dannym <at> scratchpost.org>, Mathieu Othacehe <m.othacehe <at> gmail.com> Cc: 26669 <at> debbugs.gnu.org, 26669-close <at> debbugs.gnu.org Subject: Re: bug#26669: [PATCH 1/7] gnu: Add cdrtools. Date: Wed, 10 May 2017 09:48:34 +0200 (CEST)
Hi all, Thanks for your comments. I pushed the series to master, with all comments addressed. Except these 2 by Ludo, where I didn't really manage... From: ludo <at> gnu.org (Ludovic Courtès) Subject: Re: bug#26669: [PATCH 1/7] gnu: Add cdrtools. Date: Wed, 03 May 2017 14:59:12 +0200 >> +++ b/gnu/packages/patches/cdrtools-3.01-mkisofs-isoinfo.patch >> @@ -0,0 +1,514 @@ >> +Patch for version 3.01, taken from upstream at >> +https://sourceforge.net/projects/cdrtools/files/cdrtools-3.01-fix-20151126-mkisofs-isoinfo.patch > > It would be nice to add a few words about what it does, like “Fix > compilation with recent glibc” or something. Unfortunately, I couldn't find a proper explanation for the patch, and I'm not familiar enough with the cdrtools code base to completely understand it myself. It seems like it fixes some issues and upgrades half-way to 3.02 at the same time... Well at least we can get rid of the patch if/when they release 3.02. From: ludo <at> gnu.org (Ludovic Courtès) Subject: Re: bug#26669: [PATCH 7/7] gnu: Add dvdstyler. Date: Wed, 03 May 2017 15:04:47 +0200 >> + (arguments >> + `(#:configure-flags (list (string-append "XMLTO=" >> + (assoc-ref >> %build-inputs "xmlto") >> + "/bin/xmlto" >> + " --searchpath " >> + (assoc-ref >> %build-inputs "docbook-xsl") >> + >> "/xml/xsl/docbook-xsl-1.79.1/htmlhelp:" >> + (assoc-ref >> %build-inputs "docbook-xml") >> + "/xml/dtd/docbook")) > > I'd expect that adding libxml2 as an input would lead to the > appropriate > definition of XML_CATALOG_FILES, and thus remove the need for these > #:configure-flags. Could you try that? I tried it, but it didn't work. Even with these flags, documentation generation phase spits out a few warnings about attempted network access to retrieve xsd files, but way less than without the flags, and at html help is generated successfully :-) . Thomas
Thomas Danckaert <post <at> thomasdanckaert.be>
:Thomas Danckaert <post <at> thomasdanckaert.be>
:guix-patches <at> gnu.org
:bug#26669
; Package guix-patches
.
(Wed, 10 May 2017 11:56:02 GMT) Full text and rfc822 format available.Message #58 received at 26669 <at> debbugs.gnu.org (full text, mbox):
From: ludo <at> gnu.org (Ludovic Courtès) To: Thomas Danckaert <post <at> thomasdanckaert.be> Cc: Danny Milosavljevic <dannym <at> scratchpost.org>, 26669 <at> debbugs.gnu.org, Mathieu Othacehe <m.othacehe <at> gmail.com>, 26669-close <at> debbugs.gnu.org Subject: Re: bug#26669: [PATCH 1/7] gnu: Add cdrtools. Date: Wed, 10 May 2017 13:55:13 +0200
Hi Thomas, Thomas Danckaert <post <at> thomasdanckaert.be> skribis: > Thanks for your comments. > > I pushed the series to master, with all comments addressed. Except > these 2 by Ludo, where I didn't really manage... > > From: ludo <at> gnu.org (Ludovic Courtès) > Subject: Re: bug#26669: [PATCH 1/7] gnu: Add cdrtools. > Date: Wed, 03 May 2017 14:59:12 +0200 > >>> +++ b/gnu/packages/patches/cdrtools-3.01-mkisofs-isoinfo.patch >>> @@ -0,0 +1,514 @@ >>> +Patch for version 3.01, taken from upstream at >>> +https://sourceforge.net/projects/cdrtools/files/cdrtools-3.01-fix-20151126-mkisofs-isoinfo.patch >> >> It would be nice to add a few words about what it does, like “Fix >> compilation with recent glibc” or something. > > Unfortunately, I couldn't find a proper explanation for the patch, and > I'm not familiar enough with the cdrtools code base to completely > understand it myself. It seems like it fixes some issues and upgrades > half-way to 3.02 at the same time... Well at least we can get rid of > the patch if/when they release 3.02. OK, sounds reasonable. > From: ludo <at> gnu.org (Ludovic Courtès) > Subject: Re: bug#26669: [PATCH 7/7] gnu: Add dvdstyler. > Date: Wed, 03 May 2017 15:04:47 +0200 > >>> + (arguments >>> + `(#:configure-flags (list (string-append "XMLTO=" >>> + (assoc-ref >>> %build-inputs "xmlto") >>> + "/bin/xmlto" >>> + " --searchpath " >>> + (assoc-ref >>> %build-inputs "docbook-xsl") >>> + >>> "/xml/xsl/docbook-xsl-1.79.1/htmlhelp:" >>> + (assoc-ref >>> %build-inputs "docbook-xml") >>> + "/xml/dtd/docbook")) >> >> I'd expect that adding libxml2 as an input would lead to the >> appropriate >> definition of XML_CATALOG_FILES, and thus remove the need for these >> #:configure-flags. Could you try that? > > I tried it, but it didn't work. Even with these flags, documentation > generation phase spits out a few warnings about attempted network > access to retrieve xsd files, but way less than without the flags, and > at html help is generated successfully :-) . Noted. Thanks! Ludo’.
guix-patches <at> gnu.org
:bug#26669
; Package guix-patches
.
(Wed, 10 May 2017 11:56:02 GMT) Full text and rfc822 format available.Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Thu, 08 Jun 2017 11:24:05 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.