;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2021 Maxime Devos ;;; ;;; 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 . (use-modules (guix packages) (gnu packages animation) (guix git-download)) (define-syntax with-source-location (lambda (s) (syntax-case s () ((_ (exp . exp*) source) "Expand to (EXP . EXP*), but with the source location replaced by the source location of SOURCE." (datum->syntax s (cons #'exp #'exp*) #:source (syntax-source #'source)))))) (define-syntax let& (lambda (s) "Like 'let', but let the inner expression have the location of the 'let&' form when it is expanded. Only a single inner expression is allowed." (syntax-case s () ((_ bindings exp) #'(let bindings (with-source-location exp s)))))) (define-public gnash2 ;; The last tagged release of Gnash was in 2013. (let& ((commit "583ccbc1275c7701dc4843ec12142ff86bb305b4") (revision "0")) (package (inherit gnash) (name "gnash2") (version (git-version "0.8.11" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://git.savannah.gnu.org/git/gnash.git/") (commit commit))) (file-name (git-file-name name version)) (patches (search-patches "gnash-fix-giflib-version.patch")) (sha256 (base32 "0fh0bljn0i6ypyh6l99afi855p7ki7lm869nq1qj6k8hrrwhmfry"))))))) (format #t "old: ~a~%" (package-location gnash)) (format #t "new: ~a~%" (package-location gnash2)) ;; ^ it says column 2, which is the column of the let& form.