Bug 250796 - databases/p5-Redis-Fast: update to 0.28
Summary: databases/p5-Redis-Fast: update to 0.28
Status: Open
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-ports-bugs (Nobody)
Keywords: buildisok
Depends on:
Reported: 2020-11-02 08:24 UTC by Tomohiro Hosaka
Modified: 2020-11-20 19:32 UTC (History)
1 user (show)

See Also:

svn diff (1.63 KB, text/plain)
2020-11-02 08:24 UTC, Tomohiro Hosaka
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Tomohiro Hosaka 2020-11-02 08:24:55 UTC
* portlint
  WARN: Makefile: dependency to gmake listed in BUILD_DEPENDS. consider using USES[+]=gmake.
  0 fatal errors and 1 warning found.
* poudriere testport ok (12.1, amd64)
* make test ok

I removed develop/gmake from BUILD_DEPENDS and added gmake to USES=, but I got the following error:

    # make
    ===>  License ART10 GPLv1+ accepted by the user
    ===>   p5-Redis-Fast-0.28 depends on file: /usr/local/sbin/pkg - found
    ===> Fetching all distfiles required by p5-Redis-Fast-0.28 for building
    ===>  Extracting for p5-Redis-Fast-0.28
    => SHA256 Checksum OK for Redis-Fast-0.28.tar.gz.
    ===>  Patching for p5-Redis-Fast-0.28
    ===>   p5-Redis-Fast-0.28 depends on package: p5-File-Which>=0 - found
    ===>   p5-Redis-Fast-0.28 depends on package: p5-Module-Build-XSUtil>=0.02 - found
    ===>   p5-Redis-Fast-0.28 depends on package: gmake>=4.3 - found
    ===>   p5-Redis-Fast-0.28 depends on package: p5-Module-Build>=0.4206 - found
    ===>   p5-Redis-Fast-0.28 depends on package: perl5>=5.28.r1<5.29 - found
    ===>  Configuring for p5-Redis-Fast-0.28
    gmake[1]: Entering directory '/usr/ports/databases/p5-Redis-Fast/work/Redis-Fast-0.28/deps/hiredis'
    cc -std=c99 -pedantic -c -O3 -fPIC  -I/usr/local/opt/openssl/include -Wall -W -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb alloc.c
    cc -std=c99 -pedantic -c -O3 -fPIC  -I/usr/local/opt/openssl/include -Wall -W -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb net.c
    cc -std=c99 -pedantic -c -O3 -fPIC  -I/usr/local/opt/openssl/include -Wall -W -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb hiredis.c
    cc -std=c99 -pedantic -c -O3 -fPIC  -I/usr/local/opt/openssl/include -Wall -W -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb sds.c
    cc -std=c99 -pedantic -c -O3 -fPIC  -I/usr/local/opt/openssl/include -Wall -W -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb async.c
    cc -std=c99 -pedantic -c -O3 -fPIC  -I/usr/local/opt/openssl/include -Wall -W -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb read.c
    read.c:308:62: warning: generic selections are a C11-specific feature [-Wc11-extensions]
                        if (buf[0] == '\0' || eptr[0] != '\0' || isnan(d)) {
    /usr/include/math.h:114:2: note: expanded from macro 'isnan'
            __fp_type_select(x, __inline_isnanf, __inline_isnan, __inline_isnanl)
    /usr/include/math.h:82:39: note: expanded from macro '__fp_type_select'
    #define __fp_type_select(x, f, d, ld) _Generic((x),                                                             ^
    1 warning generated.
    cc -std=c99 -pedantic -c -O3 -fPIC  -I/usr/local/opt/openssl/include -Wall -W -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb sockcompat.c
    ar rcs libhiredis.a alloc.o net.o hiredis.o sds.o async.o read.o sockcompat.o
    gmake[1]: Leaving directory '/usr/ports/databases/p5-Redis-Fast/work/Redis-Fast-0.28/deps/hiredis'
    Created MYMETA.yml and MYMETA.json
    Creating new 'Build' script for 'Redis-Fast' version '0.28'
    ===>  Building for p5-Redis-Fast-0.28
    Building Redis-Fast
    cc -Isrc -Ideps/hiredis -Isrc -I/usr/local/lib/perl5/5.28/mach/CORE -DVERSION="0.28" -DXS_VERSION="0.28" -DPIC -fPIC -Wall -W -Wno-comment -c -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_FORTIFY_SOURCE=2 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -o lib/Redis/Fast.o lib/Redis/Fast.c
    cc -shared -L/usr/local/lib/perl5/5.28/mach/CORE -lperl -L/usr/local/lib -fstack-protector-strong -o blib/arch/auto/Redis/Fast/Fast.so lib/Redis/Fast.o deps/hiredis/libhiredis.a
    ===>  Staging for p5-Redis-Fast-0.28
    ===>   p5-Redis-Fast-0.28 depends on package: p5-Try-Tiny>=0 - found
    ===>   p5-Redis-Fast-0.28 depends on package: perl5>=5.28.r1<5.29 - found
    ===>   Generating temporary packing list
    gmake: unrecognized option '--destdir=/usr/ports/databases/p5-Redis-Fast/work/stage'
    Usage: gmake [options] [target] ...
    -b, -m                      Ignored for compatibility.
    -B, --always-make           Unconditionally make all targets.
    -C DIRECTORY, --directory=DIRECTORY
                                Change to DIRECTORY before doing anything.
    -d                          Print lots of debugging information.
    --debug[=FLAGS]             Print various types of debugging information.
    -e, --environment-overrides
                                Environment variables override makefiles.
    -E STRING, --eval=STRING    Evaluate STRING as a makefile statement.
    -f FILE, --file=FILE, --makefile=FILE
                                Read FILE as a makefile.
    -h, --help                  Print this message and exit.
    -i, --ignore-errors         Ignore errors from recipes.
    -I DIRECTORY, --include-dir=DIRECTORY
                                Search DIRECTORY for included makefiles.
    -j [N], --jobs[=N]          Allow N jobs at once; infinite jobs with no arg.
    -k, --keep-going            Keep going when some targets can't be made.
    -l [N], --load-average[=N], --max-load[=N]
                                Don't start multiple jobs unless load is below N.
    -L, --check-symlink-times   Use the latest mtime between symlinks and target.
    -n, --just-print, --dry-run, --recon
                                Don't actually run any recipe; just print them.
    -o FILE, --old-file=FILE, --assume-old=FILE
                                Consider FILE to be very old and don't remake it.
    -O[TYPE], --output-sync[=TYPE]
                                Synchronize output of parallel jobs by TYPE.
    -p, --print-data-base       Print make's internal database.
    -q, --question              Run no recipe; exit status says if up to date.
    -r, --no-builtin-rules      Disable the built-in implicit rules.
    -R, --no-builtin-variables  Disable the built-in variable settings.
    -s, --silent, --quiet       Don't echo recipes.
    --no-silent                 Echo recipes (disable --silent mode).
    -S, --no-keep-going, --stop
                                Turns off -k.
    -t, --touch                 Touch targets instead of remaking them.
    --trace                     Print tracing information.
    -v, --version               Print the version number of make and exit.
    -w, --print-directory       Print the current directory.
    --no-print-directory        Turn off -w, even if it was turned on implicitly.
    -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE
                                Consider FILE to be infinitely new.
    --warn-undefined-variables  Warn when an undefined variable is referenced.

    This program built for amd64-portbld-freebsd12.1
    Report bugs to <bug-make@gnu.org>
    *** Error code 2

    make: stopped in /usr/ports/databases/p5-Redis-Fast

There are still portlint warnings, but it works fine.
Comment 1 Tomohiro Hosaka 2020-11-02 08:24:58 UTC
Created attachment 219297 [details]
svn diff
Comment 2 Automation User 2020-11-02 08:34:26 UTC
Build and package info is available at https://gitlab.com/swills/freebsd-ports/pipelines/210476156
Comment 3 Tomohiro Hosaka 2020-11-02 11:05:48 UTC
There seems to be a bug left in 0.28.

I'm sorry, but it would be helpful if you could suspend the version upgrade of ports until it was resolved.
Comment 4 Fernando Apesteguía freebsd_committer 2020-11-03 14:39:16 UTC
Triage: If there is a changelog or release notes URL available for this version, please add it to the URL field.

^Triage: Please set the maintainer-approval attachment flag (to +) on patches for ports you maintain to signify approval.
Attachment -> Details -> maintainer-approval [+]

Comment 5 Fernando Apesteguía freebsd_committer 2020-11-20 19:32:40 UTC
Hi Tomohiro,

I had a look and I think it is a false positive from portlint.

The port needs gmake to build the hiredis dependency but then it uses modbuild to build itself. If we do USES=gmake, gmake will be tried to build the port and that is not what we want. We want it to build with modbuild.

I think we are good to go as it is.