summaryrefslogtreecommitdiff
path: root/gnu/packages/perl.scm
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2018-04-21 01:08:56 -0400
committerMark H Weaver <mhw@netris.org>2018-04-21 01:17:44 -0400
commitb5178b325409b1eaf953f8f3007a180cbd27b167 (patch)
tree76d62a554674f380b870f6320c7fa92203e73b23 /gnu/packages/perl.scm
parent5618193694b08855488b29fae1db42f05ca6deaf (diff)
gnu: perl: Hack the replacement perl to think it is version 5.26.1.
Fixes <https://bugs.gnu.org/31216>. This is a followup to commits 217b8c2e061a5b637e198f1ed9960d4abe2b0a46, 44b98b00026e62766620dbc4330a305282d61069, and 35fbe194c3da264859a5addc661b9fbc2dc8ecc7. Complications arise when grafting perl unless the version of the replacement perl matches that of the original. So, here we add 'perl/fixed', which is built from the perl-5.26.2 source but hacked to believe it is version 5.26.1. * gnu/packages/perl.scm (perl)[replacement]: Use perl/fixed, not perl-5.26.2. (perl-5.26.2): Remove compatibility symlinks. (perl/fixed): New variable.
Diffstat (limited to 'gnu/packages/perl.scm')
-rw-r--r--gnu/packages/perl.scm32
1 files changed, 18 insertions, 14 deletions
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 5b52ec071a..9de8c3fdf7 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -62,7 +62,7 @@
(package
(name "perl")
(version "5.26.1")
- (replacement perl-5.26.2)
+ (replacement perl/fixed)
(source (origin
(method url-fetch)
(uri (string-append "mirror://cpan/src/5.0/perl-"
@@ -171,22 +171,26 @@
version ".tar.gz"))
(sha256
(base32
- "03gpnxx1g6hvlh0v4aqx00580h787sfywp1vlvw64q2xcbm9qbsp"))))
+ "03gpnxx1g6hvlh0v4aqx00580h787sfywp1vlvw64q2xcbm9qbsp"))))))
+
+;; When grafting perl, complications arise when the replacement perl has a
+;; different version number than the original. So, here we create a version
+;; of perl-5.26.2 that thinks it is version 5.26.1. See
+;; <https://bugs.gnu.org/31210> and <https://bugs.gnu.org/31216>.
+(define perl/fixed
+ (package
+ (inherit perl-5.26.2)
+ (version "5.26.1")
(arguments
- (substitute-keyword-arguments (package-arguments perl)
+ (substitute-keyword-arguments (package-arguments perl-5.26.2)
((#:phases phases)
`(modify-phases ,phases
- ;; The path to several installed components include the Perl
- ;; version number, and these is not rewritten by grafting. See
- ;; <https://bugs.gnu.org/31210> and <https://bugs.gnu.org/31216>.
- (add-after 'install 'install-compatibility-symlinks
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (symlink "perl5.26.2" (string-append out "/bin/perl5.26.1"))
- (symlink "5.26.2" (string-append out "/lib/perl5/5.26.1"))
- (symlink "5.26.2"
- (string-append out "/lib/perl5/site_perl/5.26.1"))
- #t)))))))))
+ (add-after 'unpack 'revert-perl-subversion
+ (lambda _
+ (substitute* "patchlevel.h"
+ (("^#define PERL_SUBVERSION 2")
+ "#define PERL_SUBVERSION 1"))
+ #t))))))))
(define-public perl-algorithm-c3
(package