diff -ruN id3lib-3.8.3.orig/ChangeLog id3lib-3.8.3/ChangeLog --- id3lib-3.8.3.orig/ChangeLog 2003-03-02 01:23:00.000000000 +0100 +++ id3lib-3.8.3/ChangeLog 2006-02-22 00:33:59.946214472 +0100 @@ -1,3 +1,8 @@ +2006-02-17 Jerome Couderc + + * Patch from Spoon to fix UTF-16 writing bug + http://sourceforge.net/tracker/index.php?func=detail&aid=1016290&group_id=979&atid=300979 + 2003-03-02 Sunday 17:38 Thijmen Klok * THANKS (1.20): added more people diff -ruN id3lib-3.8.3.orig/src/io_helpers.cpp id3lib-3.8.3/src/io_helpers.cpp --- id3lib-3.8.3.orig/src/io_helpers.cpp 2003-03-02 01:23:00.000000000 +0100 +++ id3lib-3.8.3/src/io_helpers.cpp 2006-02-22 00:35:02.926639992 +0100 @@ -363,11 +363,22 @@ // Write the BOM: 0xFEFF unicode_t BOM = 0xFEFF; writer.writeChars((const unsigned char*) &BOM, 2); + // Patch from Spoon : 2004-08-25 14:17 + // http://sourceforge.net/tracker/index.php?func=detail&aid=1016290&group_id=979&atid=300979 + // Wrong code + //for (size_t i = 0; i < size; i += 2) + //{ + // unicode_t ch = (data[i] << 8) | data[i+1]; + // writer.writeChars((const unsigned char*) &ch, 2); + //} + // Right code + unsigned char *pdata = (unsigned char *) data.c_str(); for (size_t i = 0; i < size; i += 2) { - unicode_t ch = (data[i] << 8) | data[i+1]; + unicode_t ch = (pdata[i] << 8) | pdata[i+1]; writer.writeChars((const unsigned char*) &ch, 2); } + // End patch } return writer.getCur() - beg; } 08011f37542ec36b'/>
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Eric Bavier <bavier@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.

(define-module (gnu packages pem)
  #:use-module (guix packages)
  #:use-module (guix licenses)
  #:use-module (guix download)
  #:use-module (guix build-system gnu)
  #:use-module (gnu packages perl))

(define-public pem
  (package
    (name "pem")
    (version "0.7.9")
    (source
     (origin
      (method url-fetch)
      (uri (string-append "mirror://gnu/pem/pem-"
                          version ".tar.gz"))
      (sha256
       (base32
        "03iqcki1lakkck1akdyvljjapgqda3l0rh38id7jhrac9kcxqgg2"))))
    (build-system gnu-build-system)
    (inputs (list perl))
    (home-page "https://www.gnu.org/software/pem/")
    (synopsis "Personal expenses manager")
    (description
     "GNU Pem is a simple tool for tracking personal income and
expenses.  It operates from the command line and it stores its data
in a basic text format in your home directory.  It can easily print
reports of your spending on different expenses via a basic search
feature.")
    (license gpl3+)))