Subject: Re: [bug#33706] [PATCH] gnu: php: Update to 7.3.0.

From: Oleg Pykhalov <[email-masked]>
Date: Wed, 12 Dec 2018 06:04:34 +0300

Hi Julien,

Julien Lepiller <[email-masked]> writes:

> Thanks for the patch! I haven't tested it yet, but I was wondering why
> update pcre to pcre2 while not stripping pcrelib anymore. Is thc
> directory not available anymore?

Yes, the directory is not available:
--8<---------------cut here---------------start------------->8---
source is under 'php-7.3.0'
Backtrace:
          10 (primitive-load "/gnu/store/rplv70ijk2djwhg35gwkaiz2llg?")
In ice-9/eval.scm:
    619:8  9 (_ #(#<directory (guile-user) 5ce140> "php-7.3.0"))
   293:34  8 (_ #(#<directory (guile-user) 5ce140> "php-7.3.0"))
In system/base/compile.scm:
    255:6  7 (compile _ #:from _ #:to _ #:env _ #:opts _)
   183:32  6 (compile-fold _ (with-directory-excursion "ext" (# ?) ?) ?)
In ice-9/boot-9.scm:
   2312:4  5 (save-module-excursion #<procedure bba140 at language/b?>)
In language/bytecode/spec.scm:
    35:19  4 (_)
In /gnu/store/rplv70ijk2djwhg35gwkaiz2llg5677i-php-7.3.0.tar.xz-builder:
   1:2017  3 (_)
In ice-9/boot-9.scm:
   260:13  2 (for-each #<procedure delete-file-recursively (dir #:k?> ?)
In guix/build/utils.scm:
   340:23  1 (delete-file-recursively "pcre/pcrelib" #:follow-mounts? ?)
In unknown file:
           0 (lstat "pcre/pcrelib")

ERROR: In procedure lstat:
In procedure lstat: No such file or directory: "pcre/pcrelib"
builder for `/gnu/store/mmk3rf1vfnbzfkk4hwkwswmkf66h23z0-php-7.3.0.tar.xz.drv' failed with exit code 1
build of /gnu/store/mmk3rf1vfnbzfkk4hwkwswmkf66h23z0-php-7.3.0.tar.xz.drv failed
View build log at '/var/log/guix/drvs/mm/k3rf1vfnbzfkk4hwkwswmkf66h23z0-php-7.3.0.tar.xz.drv.gz'.
cannot build derivation `/gnu/store/h4fc9f0p5408vh4d9kcv2jamymfz0qss-php-7.3.0.drv': 1 dependencies couldn't be built
guix build: error: build failed: build of `/gnu/store/h4fc9f0p5408vh4d9kcv2jamymfz0qss-php-7.3.0.drv' failed
Build step 'Execute shell' marked build as failure
Finished: FAILURE
--8<---------------cut here---------------end--------------->8---

I've found "pcre/pcre2lib" which is probably a renamed "pcre/pcrelib"
directory.  I succeeded to build and run with a following change.

diff --git a/gnu/packages/php.scm b/gnu/packages/php.scm
index 491e08481..dfb9f2db3 100644
--- a/gnu/packages/php.scm
+++ b/gnu/packages/php.scm
@@ -74,6 +74,7 @@
                             ;;"fileinfo/libmagic" ; This is a patched version of libmagic.
                             '("gd/libgd"
                               "mbstring/oniguruma"
+                              "pcre/pcre2lib"
                               "sqlite3/libsqlite"
                               "xmlrpc/libxmlrpc"
                               "zip/lib"))

--8<---------------cut here---------------start------------->8---
$ /gnu/store/bphw93wrikc275maaqclm04mglrvkzqh-php-7.3.0/bin/php -r 'print("hello");'
--8<---------------cut here---------------end--------------->8---

Thanks,
Oleg.