Fix Windows Build

Checklist

[x] Used a fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

This adds a Windows specific build script using 7za to extract all zip archives in nltk_data packages. This fixes issue https://github.com/conda-forge/nltk_data-feedstock/issues/1 caused by unzip failing to rename con.xml to a Windows compatible filename.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


error: failed to run custom build command for libduckdb-sys v0.5.1

I cloned the prql-query repo, then tried to build the Docker container locally. I'm using macOS 10.15.7, Docker 4.12.0.  I wonder if I pushed some breaking changes since the last release. I won't be able to look into it until about 12 hours from now. In the meantime two suggestions:

Do you want to try the pre-built image from ghcr.io?
Do you want to check out the previous release tag v0.0.11 and try to build that? Because that built on Github Actions: https://github.com/prql/prql-query/actions/runs/3269167974/jobs/5376392257

I know more now. I submitted a PR to fix the ghcr.io link to the container. I can now run the pre-built image as described in the README.md file.
The build problem remains, but it's less time critical. Thanks for the speedy response!

NB I did check out the 0.0.11 tag, and ran into the same error. But again, I'm no longer blocked. Thanks again.

It's so odd that even at that tag it doesn't build on Mac because it built fine on Github and builds on my Ubuntu machine as well. I thought the whole point of Docker was that things should be independent of the host OS?

I'm not really sure how to proceed with this because I don't have access to a Mac. If you can tinker with the Docker file and get it to build on your side then I can test on my platforms as well?

It passes for me too.
Can we reproduce the failure? It is surprising that it works on one machine but not the other...

More debugging info:
I have rust 1.63 installed natively on my Mac and cannot build prql-query with cargo test.
I suspect there are problems with mixed versions between prql and prql-query. I get different results using rust 1.63 & 1.64 as  a base for the Dockerfile.
I also looked through the Cargo.toml files for both projects and found different versions between the packages:

atty
cfg.if
duckdb

Since I know so little about the rust environment, I'm not sure whether these differences are relevant. Nor do I know how to update to 1.64 - I can't remember whether I used brew, or the native rust installer, or...
Would one of you look through these versions/dependencies and give me advice? Many thanks.

Though all that should be isolated by docker. Can we reproduce docker build . failing on a fresh checkout of the git repo? My guess is that that will work and so something more specific is causing the failure — but if that fails then we have a different problem :)
@snth FWIW running cargo build does cause a small diff in Cargo.lock — generally that shouldn't happen — I doubt that's the cause but does reduce the strength of the "we're all on the same files" point. Do you see the same thing? I'll PR the diff so you can compare

Yes - Docker should isolate all this. I am currently trying to build a fresh checkout of prql-query as a docker container.
NB I also am running cargo test after using the procedure on the Rust Install page to upgrade to Rust 1.64.0
Film at 11...

It fails with fresh checkout, getting the same error message.
cargo test and cargo build-all work as expected after I upgraded to rust 1.64.0.
What other thoughts? Thanks.

√ github % git clone https://github.com/richb-hanover/prql-query.git
Cloning into 'prql-query'...
remote: Enumerating objects: 592, done.
remote: Counting objects: 100% (61/61), done.
remote: Compressing objects: 100% (36/36), done.
remote: Total 592 (delta 29), reused 33 (delta 15), pack-reused 531
Receiving objects: 100% (592/592), 980.87 KiB | 5.42 MiB/s, done.
 Possibly it has different ways to compile, and it hits the unlucky one in your image?
We could try adding rustfmt in the image. And we could raise this upstream — seems like there's an implicit dependency there. This looks to be the line https://github.com/wangfenjin/duckdb-rs/blob/main/libduckdb-sys/build.rs#L242

@max-sixty I wonder if the Cargo.lock differences are because I don't build the package locally anymore? The builds take so long that I've just been relying on building those on GH.

@richb-hanover I wonder if you have Docker BuildKit  installed / enabled? The only time I've had inconsistent build experiences with Docker was when I tried BuildKit. This was on a different project and I wanted the parallel builds and better caching but I kept getting errors which I couldn't resolve and I had to stop using it.

I did try installing rustup in the Dockerfile - same error, but no warning about rustup not being installed (see Details below). Asking upstream might be helpful.
 In the meantime please could you try the following command for me:
DOCKER_BUILDKIT=0 docker build -t pq .

Your sample output just looks very different from mine and looks very reminiscent of BuildKit which has me wondering whether BuildKit is enabled by default in Docker Desktop.

I believe it is — but mine completes successfully, also using BuildKit...

(Using the checkout from this morning) I disabled BuildKit by setting the Docker Engine pref's to:
{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "debug": true,
  "experimental": true,
  "features": {
    "buildkit": false
  }
}

I get substantially the same error message (see details below)
I will try resetting BuildKit on (by default - see this informative article https://pythonspeed.com/articles/docker-buildkit/) and report back.

?1 prql-query % docker build -t pq .
Sending build context to Docker daemon   3.23GB
Step 1/12 : ARG RUST_VERSION=1.64.0-slim-buster
Step 2/12 : ARG DEBIAN_VERSION=stable-slim
Step 3/12 : FROM rust:$RUST_VERSION AS build
1.64.0-slim-buster: Pulling from library/rust
f6e04ba65310: Already exists
07b0546f90cb: Already exists
Digest: sha256:7da4fbd2dc7176746e8e5c371aeb0bbe742598c4906fa48cb2d87a4b89d50357
Status: Downloaded newer image for rust:1.64.0-slim-buster
 ---> 3ab5987b0330
Step 4/12 : RUN apt-get -yq update 	&& apt install -y 	build-essential 	clang 	libclang-dev 	&& rm -rf /var/lib/apt/lists/*
 ---> Running in 15282d254e10
Get:1 http://deb.debian.org/debian buster InRelease [122 kB]
Get:2 http://deb.debian.org/debian-security buster/updates InRelease [34.8 kB]
Get:3 http://deb.debian.org/debian buster-updates InRelease [56.6 kB]
Get:4 http://deb.debian.org/debian buster/main amd64 Packages [7909 kB]
Get:5 http://deb.debian.org/debian-security buster/updates/main amd64 Packages [379 kB]
Get:6 http://deb.debian.org/debian buster-updates/main amd64 Packages [8788 B]
Fetched 8510 kB in 9s (976 kB/s)
Reading package lists...

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Reading package lists...
Building dependency tree...
Reading state information...
The following additional packages will be installed:
  binfmt-support bzip2 clang-7 dirmngr dpkg-dev fakeroot file g++ g++-8 gnupg
  gnupg-l10n gnupg-utils gpg gpg-agent gpg-wks-client gpg-wks-server gpgconf
  gpgsm lib32gcc1 lib32stdc++6 libalgorithm-diff-perl
  libalgorithm-diff-xs-perl libalgorithm-merge-perl libassuan0 libbsd0
  libc-dev-bin libc6 libc6-dev libc6-i386 libclang-7-dev libclang-common-7-dev
  libclang1-7 libdpkg-perl libedit2 libexpat1 libfakeroot libffi-dev
  libfile-fcntllock-perl libgc1c2 libgdbm-compat4 libgdbm6 libgpm2 libksba8
  libldap-2.4-2 libldap-common libllvm7 liblocale-gettext-perl libmagic-mgc
  libmagic1 libncurses-dev libncurses6 libnpth0 libobjc-8-dev libobjc4
  libomp-7-dev libomp5-7 libperl5.28 libpipeline1 libpython-stdlib
  libpython2-stdlib libpython2.7-minimal libpython2.7-stdlib libreadline7
  libsasl2-2 libsasl2-modules libsasl2-modules-db libsqlite3-0 libstdc++-8-dev
  libtinfo-dev llvm-7 llvm-7-dev llvm-7-runtime lsb-base make mime-support
  netbase patch perl perl-modules-5.28 pinentry-curses python python-minimal
  python2 python2-minimal python2.7 python2.7-minimal readline-common xz-utils
Suggested packages:
  bzip2-doc clang-7-doc dbus-user-session libpam-systemd pinentry-gnome3 tor
  debian-keyring g++-multilib g++-8-multilib gcc-8-doc libstdc++6-8-dbg
  parcimonie xloadimage scdaemon glibc-doc libc-l10n locales manpages-dev
  sensible-utils git bzr gdbm-l10n gpm ncurses-doc libomp-7-doc
  libsasl2-modules-gssapi-mit | libsasl2-modules-gssapi-heimdal
  libsasl2-modules-ldap libsasl2-modules-otp libsasl2-modules-sql
  libstdc++-8-doc llvm-7-doc make-doc ed diffutils-doc perl-doc
  libterm-readline-gnu-perl | libterm-readline-perl-perl libb-debug-perl
  liblocale-codes-perl pinentry-doc python-doc python-tk python2-doc
  python2.7-doc readline-doc
Recommended packages:
  manpages manpages-dev
The following NEW packages will be installed:
  binfmt-support build-essential bzip2 clang clang-7 dirmngr dpkg-dev fakeroot
  file g++ g++-8 gnupg gnupg-l10n gnupg-utils gpg gpg-agent gpg-wks-client
  gpg-wks-server gpgconf gpgsm lib32gcc1 lib32stdc++6 libalgorithm-diff-perl
  libalgorithm-diff-xs-perl libalgorithm-merge-perl libassuan0 libbsd0
  libc6-i386 libclang-7-dev libclang-common-7-dev libclang-dev libclang1-7
  libdpkg-perl libedit2 libexpat1 libfakeroot libffi-dev
  libfile-fcntllock-perl libgc1c2 libgdbm-compat4 libgdbm6 libgpm2 libksba8
  libldap-2.4-2 libldap-common libllvm7 liblocale-gettext-perl libmagic-mgc
  libmagic1 libncurses-dev libncurses6 libnpth0 libobjc-8-dev libobjc4
  libomp-7-dev libomp5-7 libperl5.28 libpipeline1 libpython-stdlib
  libpython2-stdlib libpython2.7-minimal libpython2.7-stdlib libreadline7
  libsasl2-2 libsasl2-modules libsasl2-modules-db libsqlite3-0 libstdc++-8-dev
  libtinfo-dev llvm-7 llvm-7-dev llvm-7-runtime lsb-base make mime-support
  netbase patch perl perl-modules-5.28 pinentry-curses python python-minimal
  python2 python2-minimal python2.7 python2.7-minimal readline-common xz-utils
The following packages will be upgraded:
  libc-dev-bin libc6 libc6-dev
3 upgraded, 88 newly installed, 0 to remove and 1 not upgraded.
Need to get 117 MB of archives.
After this operation, 634 MB of additional disk space will be used.

(Reading database ... 8936 files and directories currently installed.)
Preparing to unpack .../perl-modules-5.28_5.28.1-6+deb10u1_all.deb ...
Unpacking perl-modules-5.28 (5.28.1-6+deb10u1) ...
Preparing to unpack .../libc6-dev_2.28-10+deb10u2_amd64.deb ...
Unpacking libc6-dev:amd64 (2.28-10+deb10u2) over (2.28-10+deb10u1) ...
Preparing to unpack .../libc-dev-bin_2.28-10+deb10u2_amd64.deb ...
Unpacking libc-dev-bin (2.28-10+deb10u2) over (2.28-10+deb10u1) ...
Preparing to unpack .../libc6_2.28-10+deb10u2_amd64.deb ...
debconf: unable to initialize frontend: Dialog
debconf: (TERM is not set, so the dialog frontend is not usable.)
debconf: falling back to frontend: Readline
Unpacking libc6:amd64 (2.28-10+deb10u2) over (2.28-10+deb10u1) ...
Setting up libc6:amd64 (2.28-10+deb10u2) ...
debconf: unable to initialize frontend: Dialog
debconf: (TERM is not set, so the dialog frontend is not usable.)
debconf: falling back to frontend: Readline
Selecting previously unselected package libgdbm6:amd64.
(Reading database ... 10307 files and directories currently installed.)
Preparing to unpack .../00-libgdbm6_1.18.1-4_amd64.deb ...
Unpacking libgdbm6:amd64 (1.18.1-4) ...
Selecting previously unselected package libgdbm-compat4:amd64.
Preparing to unpack .../01-libgdbm-compat4_1.18.1-4_amd64.deb ...
Unpacking libgdbm-compat4:amd64 (1.18.1-4) ...
Selecting previously unselected package libperl5.28:amd64.
Preparing to unpack .../02-libperl5.28_5.28.1-6+deb10u1_amd64.deb ...
Unpacking libperl5.28:amd64 (5.28.1-6+deb10u1) ...
Selecting previously unselected package perl.
Preparing to unpack .../03-perl_5.28.1-6+deb10u1_amd64.deb ...
Unpacking perl (5.28.1-6+deb10u1) ...
Selecting previously unselected package libpython2.7-minimal:amd64.
Preparing to unpack .../04-libpython2.7-minimal_2.7.16-2+deb10u1_amd64.deb ...
Unpacking libpython2.7-minimal:amd64 (2.7.16-2+deb10u1) ...
Selecting previously unselected package python2.7-minimal.
Preparing to unpack .../05-python2.7-minimal_2.7.16-2+deb10u1_amd64.deb ...
Unpacking python2.7-minimal (2.7.16-2+deb10u1) ...
Selecting previously unselected package python2-minimal.
Preparing to unpack .../06-python2-minimal_2.7.16-1_amd64.deb ...
Unpacking python2-minimal (2.7.16-1) ...
Selecting previously unselected package python-minimal.
Preparing to unpack .../07-python-minimal_2.7.16-1_amd64.deb ...
Unpacking python-minimal (2.7.16-1) ...
Selecting previously unselected package mime-support.
Preparing to unpack .../08-mime-support_3.62_all.deb ...
Unpacking mime-support (3.62) ...
Selecting previously unselected package libexpat1:amd64.
Preparing to unpack .../09-libexpat1_2.2.6-2+deb10u5_amd64.deb ...
Unpacking libexpat1:amd64 (2.2.6-2+deb10u5) ...
Selecting previously unselected package readline-common.
Preparing to unpack .../10-readline-common_7.0-5_all.deb ...
Unpacking readline-common (7.0-5) ...
Selecting previously unselected package libreadline7:amd64.
Preparing to unpack .../11-libreadline7_7.0-5_amd64.deb ...
Unpacking libreadline7:amd64 (7.0-5) ...
Selecting previously unselected package libsqlite3-0:amd64.
Preparing to unpack .../12-libsqlite3-0_3.27.2-3+deb10u2_amd64.deb ...
Unpacking libsqlite3-0:amd64 (3.27.2-3+deb10u2) ...
Selecting previously unselected package libpython2.7-stdlib:amd64.
Preparing to unpack .../13-libpython2.7-stdlib_2.7.16-2+deb10u1_amd64.deb ...
Unpacking libpython2.7-stdlib:amd64 (2.7.16-2+deb10u1) ...
Selecting previously unselected package python2.7.
Preparing to unpack .../14-python2.7_2.7.16-2+deb10u1_amd64.deb ...
Unpacking python2.7 (2.7.16-2+deb10u1) ...
Selecting previously unselected package libpython2-stdlib:amd64.
Preparing to unpack .../15-libpython2-stdlib_2.7.16-1_amd64.deb ...
Unpacking libpython2-stdlib:amd64 (2.7.16-1) ...
Selecting previously unselected package libpython-stdlib:amd64.
Preparing to unpack .../16-libpython-stdlib_2.7.16-1_amd64.deb ...
Unpacking libpython-stdlib:amd64 (2.7.16-1) ...
Setting up libpython2.7-minimal:amd64 (2.7.16-2+deb10u1) ...
Setting up python2.7-minimal (2.7.16-2+deb10u1) ...
Linking and byte-compiling packages for runtime python2.7...
Setting up python2-minimal (2.7.16-1) ...
Selecting previously unselected package python2.
(Reading database ... 11708 files and directories currently installed.)
Preparing to unpack .../python2_2.7.16-1_amd64.deb ...
Unpacking python2 (2.7.16-1) ...
Setting up python-minimal (2.7.16-1) ...
Selecting previously unselected package python.
(Reading database ... 11741 files and directories currently installed.)
Preparing to unpack .../00-python_2.7.16-1_amd64.deb ...
Unpacking python (2.7.16-1) ...
Selecting previously unselected package liblocale-gettext-perl.
Preparing to unpack .../01-liblocale-gettext-perl_1.07-3+b4_amd64.deb ...
Unpacking liblocale-gettext-perl (1.07-3+b4) ...
Selecting previously unselected package netbase.
Preparing to unpack .../02-netbase_5.6_all.deb ...
Unpacking netbase (5.6) ...
Selecting previously unselected package bzip2.
Preparing to unpack .../03-bzip2_1.0.6-9.2~deb10u2_amd64.deb ...
Unpacking bzip2 (1.0.6-9.2~deb10u2) ...
Selecting previously unselected package libmagic-mgc.
Preparing to unpack .../04-libmagic-mgc_1%3a5.35-4+deb10u2_amd64.deb ...
Unpacking libmagic-mgc (1:5.35-4+deb10u2) ...
Selecting previously unselected package libmagic1:amd64.
Preparing to unpack .../05-libmagic1_1%3a5.35-4+deb10u2_amd64.deb ...
Unpacking libmagic1:amd64 (1:5.35-4+deb10u2) ...
Selecting previously unselected package file.
Preparing to unpack .../06-file_1%3a5.35-4+deb10u2_amd64.deb ...
Unpacking file (1:5.35-4+deb10u2) ...
Selecting previously unselected package xz-utils.
Preparing to unpack .../07-xz-utils_5.2.4-1+deb10u1_amd64.deb ...
Unpacking xz-utils (5.2.4-1+deb10u1) ...
Selecting previously unselected package libpipeline1:amd64.
Preparing to unpack .../08-libpipeline1_1.5.1-2_amd64.deb ...
Unpacking libpipeline1:amd64 (1.5.1-2) ...
Selecting previously unselected package lsb-base.
Preparing to unpack .../09-lsb-base_10.2019051400_all.deb ...
Unpacking lsb-base (10.2019051400) ...
Selecting previously unselected package binfmt-support.
Preparing to unpack .../10-binfmt-support_2.2.0-2_amd64.deb ...
Unpacking binfmt-support (2.2.0-2) ...
Selecting previously unselected package libstdc++-8-dev:amd64.
Preparing to unpack .../11-libstdc++-8-dev_8.3.0-6_amd64.deb ...
Unpacking libstdc++-8-dev:amd64 (8.3.0-6) ...
Selecting previously unselected package g++-8.
Preparing to unpack .../12-g++-8_8.3.0-6_amd64.deb ...
Unpacking g++-8 (8.3.0-6) ...
Selecting previously unselected package g++.
Preparing to unpack .../13-g++_4%3a8.3.0-1_amd64.deb ...
Unpacking g++ (4:8.3.0-1) ...
Selecting previously unselected package make.
Preparing to unpack .../14-make_4.2.1-1.2_amd64.deb ...
Unpacking make (4.2.1-1.2) ...
Selecting previously unselected package libdpkg-perl.
Preparing to unpack .../15-libdpkg-perl_1.19.8_all.deb ...
Unpacking libdpkg-perl (1.19.8) ...
Selecting previously unselected package patch.
Preparing to unpack .../16-patch_2.7.6-3+deb10u1_amd64.deb ...
Unpacking patch (2.7.6-3+deb10u1) ...
Selecting previously unselected package dpkg-dev.
Preparing to unpack .../17-dpkg-dev_1.19.8_all.deb ...
Unpacking dpkg-dev (1.19.8) ...
Selecting previously unselected package build-essential.
Preparing to unpack .../18-build-essential_12.6_amd64.deb ...
Unpacking build-essential (12.6) ...
Selecting previously unselected package libbsd0:amd64.
Preparing to unpack .../19-libbsd0_0.9.1-2+deb10u1_amd64.deb ...
Unpacking libbsd0:amd64 (0.9.1-2+deb10u1) ...
Selecting previously unselected package libedit2:amd64.
Preparing to unpack .../20-libedit2_3.1-20181209-1_amd64.deb ...
Unpacking libedit2:amd64 (3.1-20181209-1) ...
Selecting previously unselected package libllvm7:amd64.
Preparing to unpack .../21-libllvm7_1%3a7.0.1-8+deb10u2_amd64.deb ...
Unpacking libllvm7:amd64 (1:7.0.1-8+deb10u2) ...
Selecting previously unselected package libgc1c2:amd64.
Preparing to unpack .../22-libgc1c2_1%3a7.6.4-0.4_amd64.deb ...
Unpacking libgc1c2:amd64 (1:7.6.4-0.4) ...
Selecting previously unselected package libobjc4:amd64.
Preparing to unpack .../23-libobjc4_8.3.0-6_amd64.deb ...
Unpacking libobjc4:amd64 (8.3.0-6) ...
Selecting previously unselected package libobjc-8-dev:amd64.
Preparing to unpack .../24-libobjc-8-dev_8.3.0-6_amd64.deb ...
Unpacking libobjc-8-dev:amd64 (8.3.0-6) ...
Selecting previously unselected package libc6-i386.
Preparing to unpack .../25-libc6-i386_2.28-10+deb10u2_amd64.deb ...
Unpacking libc6-i386 (2.28-10+deb10u2) ...
Selecting previously unselected package lib32gcc1.
Preparing to unpack .../26-lib32gcc1_1%3a8.3.0-6_amd64.deb ...
Unpacking lib32gcc1 (1:8.3.0-6) ...
Selecting previously unselected package lib32stdc++6.
Preparing to unpack .../27-lib32stdc++6_8.3.0-6_amd64.deb ...
Unpacking lib32stdc++6 (8.3.0-6) ...
Selecting previously unselected package libclang-common-7-dev.
Preparing to unpack .../28-libclang-common-7-dev_1%3a7.0.1-8+deb10u2_amd64.deb ...
Unpacking libclang-common-7-dev (1:7.0.1-8+deb10u2) ...
Selecting previously unselected package libclang1-7.
Preparing to unpack .../29-libclang1-7_1%3a7.0.1-8+deb10u2_amd64.deb ...
Unpacking libclang1-7 (1:7.0.1-8+deb10u2) ...
Selecting previously unselected package clang-7.
Preparing to unpack .../30-clang-7_1%3a7.0.1-8+deb10u2_amd64.deb ...
Unpacking clang-7 (1:7.0.1-8+deb10u2) ...
Selecting previously unselected package clang.
Preparing to unpack .../31-clang_1%3a7.0-47_amd64.deb ...
Unpacking clang (1:7.0-47) ...
Selecting previously unselected package libassuan0:amd64.
Preparing to unpack .../32-libassuan0_2.5.2-1_amd64.deb ...
Unpacking libassuan0:amd64 (2.5.2-1) ...
Selecting previously unselected package gpgconf.
Preparing to unpack .../33-gpgconf_2.2.12-1+deb10u2_amd64.deb ...
Unpacking gpgconf (2.2.12-1+deb10u2) ...
Selecting previously unselected package libksba8:amd64.
Preparing to unpack .../34-libksba8_1.3.5-2+deb10u1_amd64.deb ...
Unpacking libksba8:amd64 (1.3.5-2+deb10u1) ...
Selecting previously unselected package libsasl2-modules-db:amd64.
Preparing to unpack .../35-libsasl2-modules-db_2.1.27+dfsg-1+deb10u2_amd64.deb ...
Unpacking libsasl2-modules-db:amd64 (2.1.27+dfsg-1+deb10u2) ...
Selecting previously unselected package libsasl2-2:amd64.
Preparing to unpack .../36-libsasl2-2_2.1.27+dfsg-1+deb10u2_amd64.deb ...
Unpacking libsasl2-2:amd64 (2.1.27+dfsg-1+deb10u2) ...
Selecting previously unselected package libldap-common.
Preparing to unpack .../37-libldap-common_2.4.47+dfsg-3+deb10u7_all.deb ...
Unpacking libldap-common (2.4.47+dfsg-3+deb10u7) ...
Selecting previously unselected package libldap-2.4-2:amd64.
Preparing to unpack .../38-libldap-2.4-2_2.4.47+dfsg-3+deb10u7_amd64.deb ...
Unpacking libldap-2.4-2:amd64 (2.4.47+dfsg-3+deb10u7) ...
Selecting previously unselected package libnpth0:amd64.
Preparing to unpack .../39-libnpth0_1.6-1_amd64.deb ...
Unpacking libnpth0:amd64 (1.6-1) ...
Selecting previously unselected package dirmngr.
Preparing to unpack .../40-dirmngr_2.2.12-1+deb10u2_amd64.deb ...
Unpacking dirmngr (2.2.12-1+deb10u2) ...
Selecting previously unselected package libfakeroot:amd64.
Preparing to unpack .../41-libfakeroot_1.23-1_amd64.deb ...
Unpacking libfakeroot:amd64 (1.23-1) ...
Selecting previously unselected package fakeroot.
Preparing to unpack .../42-fakeroot_1.23-1_amd64.deb ...
Unpacking fakeroot (1.23-1) ...
Selecting previously unselected package gnupg-l10n.
Preparing to unpack .../43-gnupg-l10n_2.2.12-1+deb10u2_all.deb ...
Unpacking gnupg-l10n (2.2.12-1+deb10u2) ...
Selecting previously unselected package gnupg-utils.
Preparing to unpack .../44-gnupg-utils_2.2.12-1+deb10u2_amd64.deb ...
Unpacking gnupg-utils (2.2.12-1+deb10u2) ...
Selecting previously unselected package gpg.
Preparing to unpack .../45-gpg_2.2.12-1+deb10u2_amd64.deb ...
Unpacking gpg (2.2.12-1+deb10u2) ...
Selecting previously unselected package pinentry-curses.
Preparing to unpack .../46-pinentry-curses_1.1.0-2_amd64.deb ...
Unpacking pinentry-curses (1.1.0-2) ...
Selecting previously unselected package gpg-agent.
Preparing to unpack .../47-gpg-agent_2.2.12-1+deb10u2_amd64.deb ...
Unpacking gpg-agent (2.2.12-1+deb10u2) ...
Selecting previously unselected package gpg-wks-client.
Preparing to unpack .../48-gpg-wks-client_2.2.12-1+deb10u2_amd64.deb ...
Unpacking gpg-wks-client (2.2.12-1+deb10u2) ...
Selecting previously unselected package gpg-wks-server.
Preparing to unpack .../49-gpg-wks-server_2.2.12-1+deb10u2_amd64.deb ...
Unpacking gpg-wks-server (2.2.12-1+deb10u2) ...
Selecting previously unselected package gpgsm.
Preparing to unpack .../50-gpgsm_2.2.12-1+deb10u2_amd64.deb ...
Unpacking gpgsm (2.2.12-1+deb10u2) ...
Selecting previously unselected package gnupg.
Preparing to unpack .../51-gnupg_2.2.12-1+deb10u2_all.deb ...
Unpacking gnupg (2.2.12-1+deb10u2) ...
Selecting previously unselected package libalgorithm-diff-perl.
Preparing to unpack .../52-libalgorithm-diff-perl_1.19.03-2_all.deb ...
Unpacking libalgorithm-diff-perl (1.19.03-2) ...
Selecting previously unselected package libalgorithm-diff-xs-perl.
Preparing to unpack .../53-libalgorithm-diff-xs-perl_0.04-5+b1_amd64.deb ...
Unpacking libalgorithm-diff-xs-perl (0.04-5+b1) ...
Selecting previously unselected package libalgorithm-merge-perl.
Preparing to unpack .../54-libalgorithm-merge-perl_0.08-3_all.deb ...
Unpacking libalgorithm-merge-perl (0.08-3) ...
Selecting previously unselected package libclang-7-dev.
Preparing to unpack .../55-libclang-7-dev_1%3a7.0.1-8+deb10u2_amd64.deb ...
Unpacking libclang-7-dev (1:7.0.1-8+deb10u2) ...
Selecting previously unselected package libclang-dev.
Preparing to unpack .../56-libclang-dev_1%3a7.0-47_amd64.deb ...
Unpacking libclang-dev (1:7.0-47) ...
Selecting previously unselected package libffi-dev:amd64.
Preparing to unpack .../57-libffi-dev_3.2.1-9_amd64.deb ...
Unpacking libffi-dev:amd64 (3.2.1-9) ...
Selecting previously unselected package libfile-fcntllock-perl.
Preparing to unpack .../58-libfile-fcntllock-perl_0.22-3+b5_amd64.deb ...
Unpacking libfile-fcntllock-perl (0.22-3+b5) ...
Selecting previously unselected package libgpm2:amd64.
Preparing to unpack .../59-libgpm2_1.20.7-5_amd64.deb ...
Unpacking libgpm2:amd64 (1.20.7-5) ...
Selecting previously unselected package libncurses6:amd64.
Preparing to unpack .../60-libncurses6_6.1+20181013-2+deb10u2_amd64.deb ...
Unpacking libncurses6:amd64 (6.1+20181013-2+deb10u2) ...
Selecting previously unselected package libncurses-dev:amd64.
Preparing to unpack .../61-libncurses-dev_6.1+20181013-2+deb10u2_amd64.deb ...
Unpacking libncurses-dev:amd64 (6.1+20181013-2+deb10u2) ...
Selecting previously unselected package libomp5-7:amd64.
Preparing to unpack .../62-libomp5-7_1%3a7.0.1-8+deb10u2_amd64.deb ...
Unpacking libomp5-7:amd64 (1:7.0.1-8+deb10u2) ...
Selecting previously unselected package libomp-7-dev.
Preparing to unpack .../63-libomp-7-dev_1%3a7.0.1-8+deb10u2_amd64.deb ...
Unpacking libomp-7-dev (1:7.0.1-8+deb10u2) ...
Selecting previously unselected package libsasl2-modules:amd64.
Preparing to unpack .../64-libsasl2-modules_2.1.27+dfsg-1+deb10u2_amd64.deb ...
Unpacking libsasl2-modules:amd64 (2.1.27+dfsg-1+deb10u2) ...
Selecting previously unselected package libtinfo-dev:amd64.
Preparing to unpack .../65-libtinfo-dev_6.1+20181013-2+deb10u2_amd64.deb ...
Unpacking libtinfo-dev:amd64 (6.1+20181013-2+deb10u2) ...
Selecting previously unselected package llvm-7-runtime.
Preparing to unpack .../66-llvm-7-runtime_1%3a7.0.1-8+deb10u2_amd64.deb ...
Unpacking llvm-7-runtime (1:7.0.1-8+deb10u2) ...
Selecting previously unselected package llvm-7.
Preparing to unpack .../67-llvm-7_1%3a7.0.1-8+deb10u2_amd64.deb ...
Unpacking llvm-7 (1:7.0.1-8+deb10u2) ...
Selecting previously unselected package llvm-7-dev.
Preparing to unpack .../68-llvm-7-dev_1%3a7.0.1-8+deb10u2_amd64.deb ...
Unpacking llvm-7-dev (1:7.0.1-8+deb10u2) ...
Setting up perl-modules-5.28 (5.28.1-6+deb10u1) ...
Setting up libksba8:amd64 (1.3.5-2+deb10u1) ...
Setting up libexpat1:amd64 (2.2.6-2+deb10u5) ...
Setting up libpipeline1:amd64 (1.5.1-2) ...
Setting up lsb-base (10.2019051400) ...
Setting up libgpm2:amd64 (1.20.7-5) ...
Setting up mime-support (3.62) ...
Setting up libmagic-mgc (1:5.35-4+deb10u2) ...
Setting up libgc1c2:amd64 (1:7.6.4-0.4) ...
Setting up libsqlite3-0:amd64 (3.27.2-3+deb10u2) ...
Setting up libsasl2-modules:amd64 (2.1.27+dfsg-1+deb10u2) ...
Setting up libmagic1:amd64 (1:5.35-4+deb10u2) ...
Setting up libobjc4:amd64 (8.3.0-6) ...
Setting up libnpth0:amd64 (1.6-1) ...
Setting up file (1:5.35-4+deb10u2) ...
Setting up libassuan0:amd64 (2.5.2-1) ...
Setting up bzip2 (1.0.6-9.2~deb10u2) ...
Setting up libffi-dev:amd64 (3.2.1-9) ...
Setting up libldap-common (2.4.47+dfsg-3+deb10u7) ...
Setting up libfakeroot:amd64 (1.23-1) ...
Setting up libsasl2-modules-db:amd64 (2.1.27+dfsg-1+deb10u2) ...
Setting up fakeroot (1.23-1) ...
update-alternatives: using /usr/bin/fakeroot-sysv to provide /usr/bin/fakeroot (fakeroot) in auto mode
update-alternatives: warning: skip creation of /usr/share/man/man1/fakeroot.1.gz because associated file /usr/share/man/man1/fakeroot-sysv.1.gz (of link group fakeroot) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/man1/faked.1.gz because associated file /usr/share/man/man1/faked-sysv.1.gz (of link group fakeroot) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/es/man1/fakeroot.1.gz because associated file /usr/share/man/es/man1/fakeroot-sysv.1.gz (of link group fakeroot) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/es/man1/faked.1.gz because associated file /usr/share/man/es/man1/faked-sysv.1.gz (of link group fakeroot) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/fr/man1/fakeroot.1.gz because associated file /usr/share/man/fr/man1/fakeroot-sysv.1.gz (of link group fakeroot) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/fr/man1/faked.1.gz because associated file /usr/share/man/fr/man1/faked-sysv.1.gz (of link group fakeroot) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/sv/man1/fakeroot.1.gz because associated file /usr/share/man/sv/man1/fakeroot-sysv.1.gz (of link group fakeroot) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/sv/man1/faked.1.gz because associated file /usr/share/man/sv/man1/faked-sysv.1.gz (of link group fakeroot) doesn't exist
Setting up libobjc-8-dev:amd64 (8.3.0-6) ...
Setting up make (4.2.1-1.2) ...
Setting up gnupg-l10n (2.2.12-1+deb10u2) ...
Setting up libncurses6:amd64 (6.1+20181013-2+deb10u2) ...
Setting up xz-utils (5.2.4-1+deb10u1) ...
update-alternatives: using /usr/bin/xz to provide /usr/bin/lzma (lzma) in auto mode
update-alternatives: warning: skip creation of /usr/share/man/man1/lzma.1.gz because associated file /usr/share/man/man1/xz.1.gz (of link group lzma) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/man1/unlzma.1.gz because associated file /usr/share/man/man1/unxz.1.gz (of link group lzma) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/man1/lzcat.1.gz because associated file /usr/share/man/man1/xzcat.1.gz (of link group lzma) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/man1/lzmore.1.gz because associated file /usr/share/man/man1/xzmore.1.gz (of link group lzma) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/man1/lzless.1.gz because associated file /usr/share/man/man1/xzless.1.gz (of link group lzma) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/man1/lzdiff.1.gz because associated file /usr/share/man/man1/xzdiff.1.gz (of link group lzma) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/man1/lzcmp.1.gz because associated file /usr/share/man/man1/xzcmp.1.gz (of link group lzma) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/man1/lzgrep.1.gz because associated file /usr/share/man/man1/xzgrep.1.gz (of link group lzma) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/man1/lzegrep.1.gz because associated file /usr/share/man/man1/xzegrep.1.gz (of link group lzma) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/man1/lzfgrep.1.gz because associated file /usr/share/man/man1/xzfgrep.1.gz (of link group lzma) doesn't exist
Setting up patch (2.7.6-3+deb10u1) ...
Setting up libomp5-7:amd64 (1:7.0.1-8+deb10u2) ...
Setting up binfmt-support (2.2.0-2) ...
invoke-rc.d: could not determine current runlevel
invoke-rc.d: policy-rc.d denied execution of start.
Setting up libsasl2-2:amd64 (2.1.27+dfsg-1+deb10u2) ...
Setting up libc6-i386 (2.28-10+deb10u2) ...
Setting up netbase (5.6) ...
Setting up libc-dev-bin (2.28-10+deb10u2) ...
Setting up libbsd0:amd64 (0.9.1-2+deb10u1) ...
Setting up readline-common (7.0-5) ...
Setting up liblocale-gettext-perl (1.07-3+b4) ...
Setting up libreadline7:amd64 (7.0-5) ...
Setting up libgdbm6:amd64 (1.18.1-4) ...
Setting up gnupg-utils (2.2.12-1+deb10u2) ...
Setting up pinentry-curses (1.1.0-2) ...
Setting up libedit2:amd64 (3.1-20181209-1) ...
Setting up libldap-2.4-2:amd64 (2.4.47+dfsg-3+deb10u7) ...
Setting up lib32gcc1 (1:8.3.0-6) ...
Setting up libpython2.7-stdlib:amd64 (2.7.16-2+deb10u1) ...
Setting up libomp-7-dev (1:7.0.1-8+deb10u2) ...
Setting up lib32stdc++6 (8.3.0-6) ...
Setting up libgdbm-compat4:amd64 (1.18.1-4) ...
Setting up libperl5.28:amd64 (5.28.1-6+deb10u1) ...
Setting up gpgconf (2.2.12-1+deb10u2) ...
Setting up libllvm7:amd64 (1:7.0.1-8+deb10u2) ...
Setting up libc6-dev:amd64 (2.28-10+deb10u2) ...
Setting up libclang1-7 (1:7.0.1-8+deb10u2) ...
Setting up gpg (2.2.12-1+deb10u2) ...
Setting up libstdc++-8-dev:amd64 (8.3.0-6) ...
Setting up libncurses-dev:amd64 (6.1+20181013-2+deb10u2) ...
Setting up gpg-agent (2.2.12-1+deb10u2) ...
Setting up llvm-7-runtime (1:7.0.1-8+deb10u2) ...
Setting up python2.7 (2.7.16-2+deb10u1) ...
Setting up llvm-7 (1:7.0.1-8+deb10u2) ...
Setting up libpython2-stdlib:amd64 (2.7.16-1) ...
Setting up gpgsm (2.2.12-1+deb10u2) ...
Setting up python2 (2.7.16-1) ...
Setting up dirmngr (2.2.12-1+deb10u2) ...
Setting up libpython-stdlib:amd64 (2.7.16-1) ...
Setting up perl (5.28.1-6+deb10u1) ...
Setting up libdpkg-perl (1.19.8) ...
Setting up gpg-wks-server (2.2.12-1+deb10u2) ...
Setting up g++-8 (8.3.0-6) ...
Setting up libclang-common-7-dev (1:7.0.1-8+deb10u2) ...
Setting up python (2.7.16-1) ...
Setting up libtinfo-dev:amd64 (6.1+20181013-2+deb10u2) ...
Setting up clang-7 (1:7.0.1-8+deb10u2) ...
Setting up llvm-7-dev (1:7.0.1-8+deb10u2) ...
Setting up gpg-wks-client (2.2.12-1+deb10u2) ...
Setting up libfile-fcntllock-perl (0.22-3+b5) ...
Setting up libalgorithm-diff-perl (1.19.03-2) ...
Setting up dpkg-dev (1.19.8) ...
Setting up libclang-7-dev (1:7.0.1-8+deb10u2) ...
Setting up clang (1:7.0-47) ...
Setting up g++ (4:8.3.0-1) ...
update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode
Setting up gnupg (2.2.12-1+deb10u2) ...
Setting up build-essential (12.6) ...
Setting up libalgorithm-diff-xs-perl (0.04-5+b1) ...
Setting up libalgorithm-merge-perl (0.08-3) ...
Setting up libclang-dev (1:7.0-47) ...
Processing triggers for libc-bin (2.28-10+deb10u1) ...
Removing intermediate container 15282d254e10
 ---> 27a3ce1c8b22
Step 5/12 : WORKDIR /app
 ---> Running in af5e1ee42fb5
Removing intermediate container af5e1ee42fb5
 ---> a92a20143619
Step 6/12 : COPY . .
 ---> b0e33fec67de
Step 7/12 : RUN rustup component add rustfmt
 ---> Running in a612bb025d49
info: downloading component 'rustfmt'
info: installing component 'rustfmt'
Removing intermediate container a612bb025d49
 ---> 0c9ae2bc0325
Step 8/12 : RUN cargo build --release
 ---> Running in 986aaa38e92b
    Updating crates.io index
 Downloading crates ...

The command '/bin/sh -c cargo build --release' returned a non-zero code: 101
?101 prql-query %

Thanks for all your testing with this. It's hard to know what to say since I can't reproduce the error.
One other thing I noticed in your Docker Engine prefs is the "experimental": true,. Do you maybe want to try setting that to false? I'm really just grasping at straws here. Not sure what else to try. 🤷♂

No (interesting) difference, even after adding RUN rustup component add rustfmt and DOCKER_BUILDKIT=0 to the command line.
I appreciate that we're "grasping at straws"... What if we created a small Cargo.toml file that simply installs the libduckdb-sys and whatever else it might need? (It would shorten the development cycle.) Thanks

?101 prql-query % DOCKER_BUILDKIT=0 docker build -t pq .
Sending build context to Docker daemon  3.244GB
Step 1/10 : ARG RUST_VERSION=1.64.0-slim-buster
Step 2/10 : ARG DEBIAN_VERSION=stable-slim
Step 3/10 : FROM rust:$RUST_VERSION AS build
 ---> 3ab5987b0330
Step 4/10 : RUN apt-get -yq update 	&& apt install -y 	build-essential 	clang 	libclang-dev 	&& rm -rf /var/lib/apt/lists/*
 ---> Using cache
 ---> 27a3ce1c8b22
Step 5/10 : RUN rustup component add rustfmt
 ---> Running in 8c1cbb16e3ac
info: downloading component 'rustfmt'
info: installing component 'rustfmt'
Removing intermediate container 8c1cbb16e3ac
 ---> b2f4c3de8807
Step 6/10 : RUN cargo install prql-query
 ---> Running in 55dbe9f21aa7
    Updating crates.io index
 Downloading crates ...
  Downloaded prql-query v0.0.12
  Installing prql-query v0.0.12
 Downloading crates ...

It could be — I'm on an M1, I think @richb-hanover is on an Intel, looking at the traceback.
One approach would be to run these as GHAs and try and reproduce. @richb-hanover has provided the best tracebacks anyone could hope for, but we're still unable to repro it unfortunately. In any other circumstance, I would suggest we try a tool called docker, oh the irony!

What if we created a small Cargo.toml file that simply installs the libduckdb-sys and whatever else it might need? (It would shorten the development cycle.) Thanks

Yeah, I think this would be a good step, to the extent folks want to invest more here. To the extent it runs without docker, up to others on whether we push more on this break.

I have a 2019 Intel MacBook Pro (i9 - 8 cores). I have a friend with a M1 mac - I'll see if I can persuade them to let me install Docker...

Thanks for the feedback folks. I think that blows that theory out the water. My machines are Intel/amd64 and it compiles on those and since it also compiles on max-sixty's M1 that covers the arm64 case (unless there is some MacOS <-> amd64) interaction effect. I know with Rust you can cross-compile for other platforms but I don't know about Docker.
Folks, I'm out of my depth and out of ideas here. Any other ideas?

Any other ideas?

Nothing magical from my end — try and repro on GHA, or suggest that people who have issues with docker don't use docker...

OK. I'm going to close this (after all, I can run the native pq app). If I work up the energy, perhaps I'll post this to some Docker community...

@max-sixty @snth  - Oh wow! I got a terrific response from the Docker Community. See https://forums.docker.com/t/baffled-dockerfile-builds-on-all-but-one-of-our-teams-computers/130642/2
rimelek asked that we collect the environments where we had success/failure so he could do further testing.
Would you send your system info to me and I'll forward? (OS version, underlying hardware, Docker version, etc). Many thanks.

Great — it succeeds for me on macOS 12.6, ARM M1 Max, Docker version 20.10.17, build 100c701.

@max-sixty @snth - I sent over your reports, and received updated interest from rimelek on this... Please feel free to let me know of any additional info that comes to mind. Thanks.

https://github.com/mlpack/mlpack/issues/2775
https://github.com/soedinglab/hh-suite/issues/280
seems you need to increase the VM of docker @richb-hanover

@wangfenjin

seems you need to increase the VM of docker

BINGO! That did the trick. I used Docker Desktop on my Mac to increase the Resources -> Memory from 8GBytes to 10 GBytes, and the docker container built without error. I ran docker run --rm -it -v $(pwd):/data -e HOME=/tmp pq --help and got the expected help. Thanks!

Thank you @wangfenjin and @richb-hanover . I've added a note to the Docker section in the README about the memory requirement for building the image.

Thanks! Let's leave this closed, because we have a good explanation.


gnujump: init at 1.0.8

Motivation for this change
A classic.
Can someone test if it works on darwin too? The website only mentions GNU/Linux.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Fits CONTRIBUTING.md.

@GrahamcOfBorg build gnujump

Failure on x86_64-darwin (full log)
Partial log (click to expand)
Package ‘gnujump-1.0.8’ in /private/var/lib/ofborg/checkout/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/lnl7-mac/pkgs/games/gnujump/default.nix:14 is not supported on ‘x86_64-darwin’, refusing to evaluate.

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowBroken = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowBroken = true; }
to ~/.config/nixpkgs/config.nix.

Success on aarch64-linux (full log)
Partial log (click to expand)
make[2]: Leaving directory '/build/gnujump-1.0.8'
make[1]: Leaving directory '/build/gnujump-1.0.8'
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/ig9gm445fn718csn0bvf15w3k22ihplb-gnujump-1.0.8
shrinking /nix/store/ig9gm445fn718csn0bvf15w3k22ihplb-gnujump-1.0.8/bin/gnujump
gzipping man pages under /nix/store/ig9gm445fn718csn0bvf15w3k22ihplb-gnujump-1.0.8/share/man/
strip is /nix/store/lvx1acn1ig1j2km8jds5x3ggh3f2wa8v-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/ig9gm445fn718csn0bvf15w3k22ihplb-gnujump-1.0.8/bin
patching script interpreter paths in /nix/store/ig9gm445fn718csn0bvf15w3k22ihplb-gnujump-1.0.8
checking for references to /build in /nix/store/ig9gm445fn718csn0bvf15w3k22ihplb-gnujump-1.0.8...

Please switch the source URL to use the mirror://gnu .
Also if you want to see if it at least builds on Darwin, include it in platforms and helpful Borg bot will let us know how that works out :).

@GrahamcOfBorg build gnujump

Right, I don't have the bits to do that. @dtzWill could you trigger it?

I thought just pushing the commit would be enough, whoops.  Sure:
@GrahamcOfBorg build gnujump

Success on x86_64-linux (full log)
Partial log (click to expand)
make[2]: Leaving directory '/tmp/nix-build-gnujump-1.0.8.drv-0/gnujump-1.0.8'
make[1]: Leaving directory '/tmp/nix-build-gnujump-1.0.8.drv-0/gnujump-1.0.8'
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/8214g2j3a227js3iidk6xjvjbgi4n3f8-gnujump-1.0.8
shrinking /nix/store/8214g2j3a227js3iidk6xjvjbgi4n3f8-gnujump-1.0.8/bin/gnujump
gzipping man pages under /nix/store/8214g2j3a227js3iidk6xjvjbgi4n3f8-gnujump-1.0.8/share/man/
strip is /nix/store/b0zlxla7dmy1iwc3g459rjznx59797xy-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/8214g2j3a227js3iidk6xjvjbgi4n3f8-gnujump-1.0.8/bin
patching script interpreter paths in /nix/store/8214g2j3a227js3iidk6xjvjbgi4n3f8-gnujump-1.0.8
checking for references to /tmp/nix-build-gnujump-1.0.8.drv-0 in /nix/store/8214g2j3a227js3iidk6xjvjbgi4n3f8-gnujump-1.0.8...

Success on aarch64-linux (full log)
Partial log (click to expand)
make[1]: Leaving directory '/build/gnujump-1.0.8'
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/ig9gm445fn718csn0bvf15w3k22ihplb-gnujump-1.0.8
shrinking /nix/store/ig9gm445fn718csn0bvf15w3k22ihplb-gnujump-1.0.8/bin/gnujump
gzipping man pages under /nix/store/ig9gm445fn718csn0bvf15w3k22ihplb-gnujump-1.0.8/share/man/
strip is /nix/store/lvx1acn1ig1j2km8jds5x3ggh3f2wa8v-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/ig9gm445fn718csn0bvf15w3k22ihplb-gnujump-1.0.8/bin
patching script interpreter paths in /nix/store/ig9gm445fn718csn0bvf15w3k22ihplb-gnujump-1.0.8
checking for references to /build in /nix/store/ig9gm445fn718csn0bvf15w3k22ihplb-gnujump-1.0.8...
/nix/store/ig9gm445fn718csn0bvf15w3k22ihplb-gnujump-1.0.8

Failure on x86_64-darwin (full log)
Partial log (click to expand)
checking for egrep... /nix/store/5q6mgrw5a1qh0i548y93gs8ibsnhabbd-gnugrep-3.1/bin/grep -E
checking for CFPreferencesCopyAppValue... yes
checking for CFLocaleCopyCurrent... yes
checking for GNU gettext in libc... no
checking for iconv... no, consider installing GNU libiconv
checking for GNU gettext in libintl... no
checking whether to use NLS... no
checking for sdl-config... /nix/store/yjrwwp6ixic2w6m9zkdhjp1kb6dx7b52-SDL-1.2.15-dev/bin/sdl-config
building of '/nix/store/b2kzi54x9fhyqxisv9fc1ndz4b23rd7a-gnujump-1.0.8.drv' timed out after 1800 seconds
error: build of '/nix/store/b2kzi54x9fhyqxisv9fc1ndz4b23rd7a-gnujump-1.0.8.drv' failed

lmao the sounds :+1:

Asked folks on #nix-darwin and it seems we should disable Darwin support for now.  Thanks for giving it a try.  Here's what they said:

we've had issues SDL-config on hydra before
if it's back we should fix that or disable the build otherwise it blocks one of the macs for ~10h with every rebuild

I don't know if the the push triggered a notification, but in case it didn't: I removed darwin from platforms


Bug: Frequency sorting function not used so inserting a frequency element doesn't work properly

Fixed in #32


Importing kuvio blows up Astro (astro dev)

setup Astro with all defaults https://docs.astro.build/en/install-and-setup/
add import * as k from 'kuvio'; k.exactString('test'); to Index.astro
run npx astro dev
index page hangs and never loads

I found this issue through using a react component with schemata-ts imported. Although the example is not a real use case, it shows that kuvio can hang Astro setups through being imported as a dependency of another library.
Reproduction: https://github.com/dearlordylord/kuvio-astro-hang

Thanks for the reproduction!
It looks like this is because kuvio exports a function called then, and I'm guessing something in the build pipeline expects then to mean it's a Promise. I'm not 100% clear but it looks like it's something in the Node built-ins that's doing this?
It feels pretty ridiculous that this is a problem. Thanks, designers of Promises!
I can rename the function, though then is used all over the place so it's going to be a breaking change. I'll also send a patch to schemata-ts

@skeate thanks for checking this! .then issue is funny indeed, I wonder if it's Astro bug actually
I re-checked Schemata itself just to be sure: it seems it doesn't hang the page. Schemata uses kuvio in definitions though so explicit import kuvio is unavoidable sometimes

You should be able to upgrade schemata-ts to 2.2.5 now to fix this


IncludedBuildTaskReference can't be used as file

I've tried to use the following code, in order to include the outputs of a task in a CopySpec.
For tasks in the same gradle build, this works fine, but it breaks when trying to include a task
from an included build.
distributions.docs.contents.into("javadoc/foo") {
    from gradle.includedBuild('foo').task(':aggregateJavadoc')
}

Expected Behavior
The notation above should correctly resolve to the output directory of the referenced task.
Current Behavior
Execution failed for task ':installDocsDist'.
> Cannot convert the provided notation to a File or URI: org.gradle.composite.internal.IncludedBuildTaskReference@4fb14e16.

Your Environment
Gradle 5.5.1

This workaround works:
distributions.docs.contents.into("javadoc/foo") {
    from files('foo/build/docs/javadoc').builtBy(gradle.includedBuild('foo').task(':aggregateJavadoc'))
}

The workaround, unfortunately, is only marginally better than dependsOn gradle.includedBuild('foo').task(':aggregateJavadoc')

Ran into same issue in gradle 6.8.3. Have to use composite builds for the different projects for now due to plugin versions.


Change MaxCircuit

Hi,
first of all - thank you for creating this awesome HA integration.
One thing I observed: Is it possible to programmatically change MaxCircuit?
Background: when charging from PV, I'd like to periodically adjust charged Amps according to current power overhead.
Thanks,
Marcel

Please close the issue if this solved your problem.

Hi,
I modified the value within Easee App - dynamic circuit limit always stays at 40 A, no matter if I choose 15A or only 10A - so the value that can be dynamically adjusted is max_circuit_limit. (which is not the overall setup of your installation location like fuse parameters).
Another challenge: no matter if we talk about Dynamic Circuit limit or Max circuit limit - it's a sensor within HASS, so it's just readable but not modifyable.

As I said above, there are services within the Easee integration in HA which you can use to set the dynamic charging limit.
(And yes, the app supports only setting the max circuit limit, but that is kind of irrelevant).
Which means that to change the dynamic circuit limit you must call one of these services.
Typically you would make an automation that changes the limit when a new limit has been calculated.
Something along these lines:
- id: charging_current
  alias: Set dynamic charging current
  trigger:
  - platform: state
    entity_id: sensor.allowed_current
  action:
  - service: easee.set_circuit_dynamic_limit
    data_template:
      circuit_id: 20874
      currentP1: "{{ states.sensor.allowed_current.state }}"
      currentP2: "{{ states.sensor.allowed_current.state }}"
      currentP3: "{{ states.sensor.allowed_current.state }}"

As I said above, there are services within the Easee integration in HA which you can use to set the dynamic circuit limit. (And yes, the app supports only setting the max circuit limit, but that is kind of irrelevant). Which means that to change the dynamic circuit limit you must call one of these services.
Typically you would make an automation that changes the limit when a new limit has been calculated. Something along these lines:
- id: charging_current
  alias: Set dynamic charging current
  trigger:
  - platform: state
    entity_id: sensor.allowed_current
  action:
  - service: easee.set_circuit_dynamic_limit
    data_template:
      circuit_id: 12345
      currentP1: "{{ states.sensor.allowed_current.state }}"
      currentP2: "{{ states.sensor.allowed_current.state }}"
      currentP3: "{{ states.sensor.allowed_current.state }}"

Hi!
Im trying to use that Code but it doesnt work with my Charger. The maximum circuit Limit doesnt change at all it always stays at 40A
Maybe the circuit id is wrong? Which id i have to use?
for testing reason i try this
currentP1: "{{ 10 }}"
To Set it to 10A on each Phase. The Event is fired but the Charger stays always on 40A
Maybe anyone can help?
Thanks

I've done some testing today - before finding this thread,  So see this a thumbs up and a confirmation that it is working ....
It seems that the Easee App uses "Max circuit limit" - (That can't be set from HA as described above)
"Dyn charger limit" works to reduce current.  But only if it is set after charging has started. Otherwise the charger just said "In que - Load balancing"
The right one to use is "Dyn circuit limit". That can be set before charging has even started and will not prohibit the charger to start when a car is connected or a schedule turns it on

I've done some testing today - before finding this thread, So see this a thumbs up and a confirmation that it is working ....
It seems that the Easee App uses "Max circuit limit" - (That can't be set from HA as described above)
"Dyn charger limit" works to reduce current. But only if it is set after charging has started. Otherwise the charger just said "In que - Load balancing"
The right one to use is "Dyn circuit limit". That can be set before charging has even started and will not prohibit the charger to start when a car is connected or a schedule turns it on

Hi there. Could you please share your Code of the automation? Couldnt get my Code to work..
Thanks

Ok, we should I guess provide some examples, but until then I can share how my setup looks.
First I have some template sensors, one set for solar charging and one for regular (typically nightly charging).
So elbil_sol_begransning_1 calculates the new limit when solar charging, and elbil_begransning_2 is just limiting the output to a value between 5 and 14A.
Likewise is elbil_natt_begransning_1 and elbil_natt_begransning_2 for regular charging.
Solar charging is single phase with target power 0W and regular charging is 3-phase charging with target power 9700W. "Target" means that the total house consumption should not be above that.
      elbil_sol_begransning_1:
        friendly_name: "Elbil solladdning begränsning steg 1"
        value_template: "{{ (state_attr('sensor.j21_dynamic_circuit_limit', 'state_dynamicCircuitCurrentP3') - (states('sensor.elmatare_effekt') | float/230)) | int }}"
        unit_of_measurement: "A"
        device_class: current
      elbil_sol_begransning_2:
        friendly_name: "Elbil solladdning begränsning steg 2"
        value_template: "{% if (states('sensor.elbil_sol_begransning_1') | float) < 5 %}5{% elif (states('sensor.elbil_sol_begransning_1') | float) > 14%}14{% else %}{{ states('sensor.elbil_sol_begransning_1') }}{% end\
if %}"
        unit_of_measurement: "A"
        device_class: current
      elbil_natt_begransning_1:
        friendly_name: "Elbil nattladdning begränsning steg 1"
        value_template: "{{ (state_attr('sensor.j21_dynamic_circuit_limit', 'state_dynamicCircuitCurrentP3') - (((states('sensor.elmatare_effekt') | float)-9700)/(230*3))) | int }}"
        unit_of_measurement: "A"
        device_class: current
      elbil_natt_begransning_2:
        friendly_name: "Elbil nattladdning begränsning steg 2"
        value_template: "{% if (states('sensor.elbil_natt_begransning_1') | float) < 5 %}5{% elif (states('sensor.elbil_natt_begransning_1') | float) > 14%}14{% else %}{{ states('sensor.elbil_natt_begransning_1') }}{% \
endif %}"
        unit_of_measurement: "A"
        device_class: current

Then I have a couple of automations that triggers the transfer of these values to the charger settings every 20 second. Which one of them runs depends on the state of input_boolean.billaddare_prioritet, which can manually changed between solar charging and regular charging, or it can be changed by some automation.
It is a bit crude but it works reasonable well.
- id: elbil_solel_pa
  alias: Elbil solladdning på
  trigger:
  - platform: time_pattern
    seconds: "/20"
  condition:
    condition:
    - condition: state
      entity_id: input_boolean.billaddare_prioritet
      state: "off"
  action:
  - service: easee.set_charger_circuit_dynamic_limit
    data:
      charger_id: EH189779
      currentP1: 0
      currentP2: 0
      currentP3: "{{ states('sensor.elbil_sol_begransning_2') }}"

- id: elbil_natt_pa
  alias: Elbil nattladdning på
  trigger:
  - platform: time_pattern
    seconds: "/20"
  condition:
    - condition: state
      entity_id: input_boolean.billaddare_prioritet
      state: "on"
  action:
  - service: easee.set_charger_circuit_dynamic_limit
    data:
      charger_id: EH189779
      currentP1: "{{ states('sensor.elbil_natt_begransning_2') }}"
      currentP2: "{{ states('sensor.elbil_natt_begransning_2') }}"
      currentP3: "{{ states('sensor.elbil_natt_begransning_2') }}"

I've been using this pretty crude and simple automation that i can easily enable with the boolean. The tlx_grida1/2/3 is simply the currents from my inverter.
But i would like to be able to pass the float instead of it being truncated to an integer
I don't have an interface to my electric meter yet, but when i do i'll like to match it as good as possible instead of using the values from the solar inverter. The Easee API takes it as floating point numbers. [https://developer.easee.cloud/reference/post_api-sites-siteid-circuits-circuitid-dynamiccurrent]
`alias: EaseeDynamic
description: EaseeDynamic
trigger:

platform: time_pattern
minutes: /1
condition:
condition: state
entity_id: input_boolean.dynamic_charging
state: "on"
action:
service: easee.set_charger_circuit_dynamic_limit
data:
charger_id: EHEEXPYG
currentP1: "{{ ((states('sensor.tlx_grida1') | float) ) }} "
currentP2: "{{ ((states('sensor.tlx_grida2') | float) ) }} "
currentP3: "{{ ((states('sensor.tlx_grida3') | float) ) }} "
mode: single
`

If I remember correct the standard for car charging says you should only output PWM signals that indicate an integer amount of current and the car should also interpret it as such.
So if you provide a non integer value to the API it will just be rounded to the nearest integer internally in the charger.

You might be right but https://en.wikipedia.org/wiki/SAE_J1772 list an example of PWM of 16% beeing 9.6A
The easee api also seems to accept a double as parameter, but i do not know if it make a pwm in larger steps or how my car will respond.

I've now gotten my second charger online - but when i set the circuit_dynamix  based on charger ID it is just set for that charger and not the other on the same circuit

Usikng circuit_id: instead og charger_id i got that "expected int for dictionary value @ data['circuit_id']" but as i have only one circuit i then entered 1 instead of the name.  But both with 1 (and 0) i get the error "Could not find circuit 0"

The circuit id can be found under the attributes in the status sensor for each charger. You need to use that specific number, it is for sure not going to be 0 or 1 or some other low number, my chargers have circuit ids in the 18000-20000 range.
Also, make sure that it is the same number on both chargers. If the numbers are different they are not correctly configured (if they are indeed connected to the same circuit).
Slave chargers does not provide a circuit_current sensor, there might be other limitations that we are unaware of at the moment. I do not have that type of installation myself.
I.e. it is possible that the set limit is only displayed on the master charger and not on the slaves.
In the end, it does not matter if you use the circuit id, charger id or device id to identify the limit you want to set, the same API is called in the end. The API needs the circuit id to work, we translate to circuit id if you provide something else. We just allow all 3 for convenience.

Thankyou - was looking in the easee.cloud instead of  the status entity ...
Luckily the both show the same site_id and  circuit_id  :-)
Tha automation for ev charging with surpluss sun still works with circuite_id instead of charger id, but the secon one is not updating.

So maybe it is just the not updating  without a car connected (i still have only one ev - but gotta be prepared for the next one).

Moved the car arround.
It seems that the sta_dynamicCircuitCurrenetPx is not updated for the slave but only for the master.
The car charges fint at the calculated reduced power on the slave even trough the dynamic limit is still at 40A.

The allowed current of 6A on P1 is set by my automation. So it works but just got confused byt the limis shown as 40

And now it says it is to low even trough is still show it at 40


Prepend '::' to Twirp::Service and Twirp::Client to prevent namespace collisions

I ran into this issue when I structured my protobufs in such a way that the resulting ruby file ended up like...
module CompanyName
  module Twirp
    class MyNewService < Twirp::Service
[...]

which causes:
uninitialized constant CompanyName::Twirp::Service (NameError)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

workaround, for anyone who stumbles on this:
module CompanyName
  module Twirp
    Service = ::Twirp::Service
    Client  = ::Twirp::Client
  end
end

Hi. Thanks for your contribution. Can you add some tests that catch this error? Also, please add a comment with "By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license."

Hi. Thanks for your contribution. Can you add some tests that catch this error? Also, please add a comment with "By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license."

Updated the PR description w/ that comment.
Hmm, would that be a go test since it's testing the code-generation? (TBH my golang-fu is not very strong 😬)
But -- this change is so simple that as long as existing tests still pass, it should be acceptable IMO. Here is all that prefixing with :: means, if unfamiliar: https://stackoverflow.com/a/10064341/1938879 -- but if you still feel a spec is necessary, could you help write one / refer someone to help?

(Also thx for taking a look!)

Thanks for the explanation.


Update index.d.ts

Fixes:
Error at src/bla.tsx:2:27: Module '"/web/node_modules/uniqueid/index"' resolves to a non-module entity and cannot be imported using this construct.

Changes Unknown when pulling dbea9a88835590366a235bfbeece75ca04f5828e on joscha:patch-1 into ** on jonschlinkert:master**.

It isn't a module and you should be importing it using import uniqueid = require('uniqueid'). Importing it differently is incorrect and subject to breakage in future TypeScript releases.

@blakeembrey, import x = require('x') yields:
Import assignment cannot be used when targeting ECMAScript 2015 modules. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead.

Use CommonJS modules if you're trying to use CommonJS modules.

if changes and decisions in a broader codebase were that easy :) Thanks for your time, will use a different module.

What are you using? It's a flag in tsconfig.json to output CommonJS modules. If you aren't, all your code is subject to breaking in future TypeScript and node.js versions anyway.

I am using es6 as a target in prod and commonjs in test (due to https://github.com/kulshekhar/ts-jest only supporting commonjs). Thus I need to make it work for both scenarios. I can do so with the change in this PR - nvm, all good.


tails, trezor bridge installation

Guide
incorrect tutorial
Summary
trezor suite is not working without trezor bridge.
How to install and use Trezor Suite on Tails
https://github.com/sunknudsen/privacy-guides/blob/master/how-to-install-and-use-trezor-suite-on-tails/README.md
torsocks is blocked also

Did you run following before running Trezor Suite on Tails?
sudo iptables -I OUTPUT 3 -o lo -s <IP_ADDRESS>/32 -d <IP_ADDRESS>/32 -p tcp --dport 21325 --syn -m owner --uid-owner amnesia -m conntrack --ctstate NEW -j ACCEPT

Just followed guide and running above command solved Bridge issue.

yes, it does not work on new versions
On Wed, Aug 10, 2022 at 2:21 PM Sun Knudsen @.***>
wrote:

Did you run following
https://sunknudsen.com/privacy-guides/how-to-install-and-use-trezor-suite-on-tails#step-1-configure-firewall
before running Trezor Suite on Tails?
sudo iptables -I OUTPUT 3 -o lo -s <IP_ADDRESS>/32 -d <IP_ADDRESS>/32 -p tcp --dport 21325 --syn -m owner --uid-owner amnesia -m conntrack --ctstate NEW -j ACCEPT
Just followed guide and running above command solved Bridge issue.
—
Reply to this email directly, view it on GitHub
https://github.com/sunknudsen/privacy-guides/issues/232#issuecomment-1210597025,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALITNZ4WGQTNY6HJGAVAJZTVYONFRANCNFSM5XFQ7I3A
.
You are receiving this because you authored the thread.Message ID:
@.***>


feat: Recipe for feed item row

Feed Item Row

:hammer_and_wrench: Type Of Change

[ ] Fix
[x] Feature
[ ] Refactoring
[x] Documentation

:book: Description
Feed Item row recipe which can be used for any row in a feed list. This comes with slots for threads, menu, reactions and default content slots. It uses list item component, Dt Avatar, Dt Lazy show to render different sections of the feed item. Further reactions, thread component created in future will fit into the respective slots.
:bulb: Context

:pencil: Checklist

[ ] I have reviewed my changes
[ ] I have added tests
[ ] I have added all relevant documentation
[ ] I have validated components with a screen reader
[ ] I have validated components keyboard navigation
[ ] I have considered the performance impact of my change
[ ] I have checked that my change did not significantly increase bundle size
[ ] I am exporting any new components or constants in the index.js in the component directory
[ ] I am exporting any new components or constants in the index.js in the root

:crystal_ball: Next Steps

Tests
Integrate feed item row in DP 2.0.
Create the thread and reactions component and replace the respective slots with default content in this recipe.

:camera: Screenshots / GIFs

:link: Sources

https://www.figma.com/file/oTY56LgQha8ljb4c8w4GtO/DT-Shared%3A-App-Components?node-id=9240-7140&t=yloR0A6sUc0Ko77p-0

creating draft PR for initial review. state prop has yet to be implemented after consulting with the design team.

@bhawkins-dialpad tagging for design approval

thank you @iropolo


Grab Scopes from Token Objects instead of Access Token

[x] Remove reference to decoded Access token

tokenHandlerClient
saveDocumentStateStrategy

[x] Unit tests work
[x] Regression tests work

To test Regex:
let arr = "launch patient/launch".split(/(\s)/);

arr.forEach(element => console.log(element));

https://jsfiddle.net/vh93u851/4/

To test Regex:
let arr = "launch patient/launch".split(/(\s)/);

arr.forEach(element => console.log(element));

https://jsfiddle.net/vh93u851/4/

Using a capture group in this regular expression populates the array with unnecessary elements (size = 3).

If separator is a regular expression with capturing parentheses, then each time separator matches, the results (including any undefined results) of the capturing parentheses are spliced into the output array.

We should drop the capture group or use a string literal (' ') to reduce the number of elements to search through (size = 2).


Breakpoints are ignored when using custom base url

I'm having a trouble with breakpoints when using flutter for web in debug mode. Everything worked fine until I had to change base url attribute because our application is not sitting root.
Of course that this could be fixed by changing base during development but it is really cumbersome.  For my use case I have written a custom CI stage that changes base url before build without committing so its not a blocker.
I haven't found similar issue so I even tho it is not a blocker I decided to post an issue to possibly save some time for others when they encounter this issue.
Steps to Reproduce

Create new flutter application using flutter create bug.
Change base from <base href="/"> to <base href="/bug/"> inside of <app root>/web/index.html
Place a breakpoints somewhere in your application using your favourite IDE (im using intellij but it also happens in vs code)
Run your application in debug
Watch how your breakpoint is ignored

Expected results: My breakpoint wouldn't be ignored
Actual results: My breakpoints are sadly ignored
❯ flutter doctor -v
[✓] Flutter (Channel stable, 2.2.2, on macOS 11.4 20F71 darwin-x64, locale en-GB)
    • Flutter version 2.2.2 at /Users/_/Development/flutter
    • Framework revision d79295af24 (11 days ago), 2021-06-11 08:56:01 -0700
    • Engine revision 91c9fc8fe0
    • Dart version 2.13.3

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at /Users/_/Library/Android/sdk
    • Platform android-30, build-tools 30.0.2
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.5.1, Build version 12E507
    • CocoaPods version 1.10.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)

[✓] IntelliJ IDEA Ultimate Edition (version 2021.1.1)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 57.0.5
    • Dart plugin version 211.7233

[✓] VS Code (version 1.57.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.23.0

[✓] Connected device (1 available)
    • Chrome (web) • chrome • web-javascript • Google Chrome 91.0.4472.114

• No issues found!

FR

Hi @NomiAdam
Thanks for filing the issue, I can reproduce the issue as you described and I also tried URL strategy  yet breakpoints are still ignored

stable
master

❌
❌

Check flutter doctor -v outputs for each channel below

flutter doctor -v
[✓] Flutter (Channel stable, 2.2.2, on macOS 11.4 20F71 darwin-x64, locale
    en-US)
    • Flutter version 2.2.2 at /Users/tahatesser/Code/flutter_stable
    • Framework revision d79295af24 (2 weeks ago), 2021-06-11 08:56:01 -0700
    • Engine revision 91c9fc8fe0
    • Dart version 2.13.3

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Volumes/Extreme/SDK
    • Platform android-30, build-tools 30.0.3
    • ANDROID_HOME = /Volumes/Extreme/SDK
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Volumes/Extreme/Xcode.app/Contents/Developer
    • Xcode 12.5, Build version 12E262
    • CocoaPods version 1.10.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)

[✓] VS Code (version 1.57.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.23.0

[✓] Connected device (3 available)
    • iPhone 12 Pro (mobile) • 4819C924-80DB-4DE5-9093-71A234590ABB • ios
      • com.apple.CoreSimulator.SimRuntime.iOS-14-5 (simulator)
    • macOS (desktop)        • macos                                • darwin-x64
      • macOS 11.4 20F71 darwin-x64
    • Chrome (web)           • chrome                               •
      web-javascript • Google Chrome 91.0.4472.114

• No issues found!

[✓] Flutter (Channel master, 2.3.0-17.0.pre.504, on macOS 11.4 20F71 darwin-x64,
    locale en-US)
    • Flutter version 2.3.0-17.0.pre.504 at
      /Users/tahatesser/Code/flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 102acbe39d (2 hours ago), 2021-06-24 22:51:02 -0700
    • Engine revision 4bf9d638c2
    • Dart version 2.14.0 (build 2.14.0-245.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Volumes/Extreme/SDK
    • Platform android-30, build-tools 30.0.3
    • ANDROID_HOME = /Volumes/Extreme/SDK
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Volumes/Extreme/Xcode.app/Contents/Developer
    • Xcode 12.5, Build version 12E262
    • CocoaPods version 1.10.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)

[✓] VS Code (version 1.57.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.23.0

[✓] Connected device (3 available)
    • iPhone 12 Pro (mobile) • 4819C924-80DB-4DE5-9093-71A234590ABB • ios
      • com.apple.CoreSimulator.SimRuntime.iOS-14-5 (simulator)
    • macOS (desktop)        • macos                                • darwin-x64
      • macOS 11.4 20F71 darwin-x64
    • Chrome (web)           • chrome                               •
      web-javascript • Google Chrome 91.0.4472.114

• No issues found!

✅ : No Issue ❌: Issue reproduced

/cc @mariamhas @sigmundch

/cc @annagrin @nshahan

Having the same issue here.
Does it have anything to do with the fact changing manually base href in index.html isn't caught by the local server? Wouldn't adding --base-href argument to flutter run help this instead of manually changing index.html?

Corresponding webdev issue: https://github.com/dart-lang/webdev/issues/1554


some presets don't show when there's too many with the same name

might be clearer with a screenshot.
for some brand presets, some of the presets won't show up due to too many presets for the same brand. for example, Circle K amenity=fuel doesn't show on a search for "Circle K", even tho it's probably the most common thing to tag with that name. perhaps we should either show more when names/brands match exactly (or nearly exactly) or prioritize more common presets?

increasing kMaxNSIPresets to 4 should help, without messing up too many things I think?
https://github.com/Zverik/every_door/blob/ed9bf4c47548920ac668be57484dc91ece6612a3/lib/constants.dart#L31

Did that in 5.2, thanks.