Skip to content

Conversation

@crazywhalecc
Copy link
Owner

@crazywhalecc crazywhalecc commented Jan 22, 2026

V2 to V3 Migration Progress

Track the migration progress from v2 to v3 architecture. Using yaml could save a lot of redundant spaces and increase the readability.

Libraries

  • attr
  • brotli
  • bzip2
  • curl
  • fastlz
  • freetype
  • gettext
  • gmp
  • gmssl
  • grpc
  • icu
  • icu-static-win
  • imagemagick
  • imap
  • jbig
  • krb5
  • ldap
  • lerc
  • libacl
  • libaom
  • libargon2
  • libavif
  • libcares
  • libde265
  • libedit
  • libevent
  • libffi
  • libffi-win
  • libheif
  • libiconv
  • libiconv-win
  • libjpeg
  • libjxl
  • liblz4
  • libmaxminddb
  • libmemcached
  • libpng
  • librabbitmq
  • librdkafka
  • libsodium
  • libssh2
  • libtiff
  • libunistring
  • liburing
  • libuuid
  • libuv
  • libwebp
  • libxml2
  • libxslt
  • libyaml
  • libzip
  • mimalloc
  • ncurses
  • net-snmp
  • nghttp2
  • nghttp3
  • ngtcp2
  • onig
  • openssl
  • postgresql
  • postgresql-win
  • pthreads4w
  • qdbm
  • re2c
  • readline
  • snappy
  • sqlite
  • tidy
  • unixodbc
  • watcher
  • xz
  • zlib
  • zstd

Extensions

  • amqp
  • apcu
  • ast
  • dio
  • ev
  • ext-brotli
  • ext-ds
  • ext-event
  • ext-excimer
  • ext-glfw
  • ext-gmssl
  • ext-grpc
  • ext-imagick
  • ext-imap
  • ext-lz4
  • ext-maxminddb
  • ext-memcache
  • ext-rdkafka
  • ext-simdjson
  • ext-snappy
  • ext-ssh2
  • ext-trader
  • ext-uuid
  • ext-uv
  • ext-xz
  • ext-zip
  • ext-zstd
  • igbinary
  • inotify
  • memcached
  • mongodb
  • msgpack
  • parallel
  • pcov
  • protobuf
  • rar
  • redis
  • spx
  • swoole
  • swow
  • xdebug
  • xhprof
  • xlswriter
  • yac
  • yaml

Build Target

  • frankenphp
  • micro
  • other PHP SAPIs

type: ghtagtar
repo: google/brotli
match: 'v1\.\d.*'
binary: hosted # 等价于v2的provide-pre-built: true
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think "binary" is the best description here. Binary could also refer to the binaries the artifact produces, not necessarily the prebuilt library.

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pre-built library also belongs to a kind of binary I think. And hosted is just an alias like this:

"binary": {
            "linux-x86_64": {
                "type": "ghrel",
                "repo": "static-php/static-php-cli-hosted",
                "match": "pkg-config-aarch64-linux-musl-1.2.5.txz",
                "extract": {
                    "bin/pkg-config": "{pkg_root_path}/bin/pkg-config"
                }
            },
            "linux-aarch64": {
                "type": "ghrel",
                "repo": "static-php/static-php-cli-hosted",
                "match": "pkg-config-x86_64-linux-musl-1.2.5.txz",
                "extract": {
                    "bin/pkg-config": "{pkg_root_path}/bin/pkg-config"
                }
            },
            "macos-x86_64": {
                "type": "ghrel",
                "repo": "static-php/static-php-cli-hosted",
                "match": "pkg-config-x86_64-darwin.txz",
                "extract": {
                    "bin/pkg-config": "{pkg_root_path}/bin/pkg-config"
                }
            },
            "macos-aarch64": {
                "type": "ghrel",
                "repo": "static-php/static-php-cli-hosted",
                "match": "pkg-config-aarch64-darwin.txz",
                "extract": "{pkg_root_path}"
            }
        }

My expected goal is:

That means that binary is a pre-built product that only needs to be installed, including the pre-built itself. If the hosted alias is expanded, it might look similar to the binary in pkg-config above.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I get it, but going by conventions it's confusing. pre-built is better for this.

Copy link
Owner Author

@crazywhalecc crazywhalecc Jan 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's true that pre-built is more appropriate than hosted. My main point before was to show that the pre-built version is built by our hosting actions. I will try to change this name later.

Copy link
Collaborator

@henderkes henderkes Jan 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think hosted is fine, it's "binary" that's confusing here.

"pre-built": {
    "linux-x86_64": {
        "type": "ghrel",
        "repo": "static-php/static-php-cli-hosted",
        "match": "pkg-config-aarch64-linux-musl-1.2.5.txz",
        "extract": {
            "bin/pkg-config": "{pkg_root_path}/bin/pkg-config"
        }
    },
    "linux-aarch64": {
        "type": "ghrel",
        "repo": "static-php/static-php-cli-hosted",
        "match": "pkg-config-x86_64-linux-musl-1.2.5.txz",
        "extract": {
            "bin/pkg-config": "{pkg_root_path}/bin/pkg-config"
        }
    },
    "macos-x86_64": {
        "type": "ghrel",
        "repo": "static-php/static-php-cli-hosted",
        "match": "pkg-config-x86_64-darwin.txz",
        "extract": {
            "bin/pkg-config": "{pkg_root_path}/bin/pkg-config"
        }
    },
    "macos-aarch64": {
        "type": "ghrel",
        "repo": "static-php/static-php-cli-hosted",
        "match": "pkg-config-aarch64-darwin.txz",
                "extract": "{pkg_root_path}"
    }
}

This would be fine.

Copy link
Owner Author

@crazywhalecc crazywhalecc Jan 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My perspective is that since we've merged pre-built and pkg in v2 to artifact.binary in v3, or rather, the concept of v3 has been almost completely redefined, some of the original binary packages here are not part of the pre-built, or were not built by us. For example, nasm, go-xcaddy, etc.

I can't think of any other names besides binary that can represent "pre-built", "closed source software", and "other non-source artifacts" at the same time. Their functions and behaviors are the same.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

or were not built by us. For example, nasm, go-xcaddy, etc.

But they are nevertheless pre-built.

Copy link
Owner Author

@crazywhalecc crazywhalecc Jan 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But they are nevertheless pre-built.

I agree that closed-source software and third-party binaries are also "pre-built". But I prefer using the "what is it" instead of "how is it built" here.

@crazywhalecc crazywhalecc marked this pull request as draft January 22, 2026 08:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants