Let's look at another build system
Guillaume Quintard
guillaume at varnish-software.com
Thu May 14 16:00:50 UTC 2020
> One thing that would worry me a bit about meson is the sheer number
> of dependencies involved.
I'm going to vote for "that freeBSD port is absolutely bonkers and probably
deserves the behind-the-barn treatment", specially considering the debian
dependency graph: https://ibb.co/YdXMHRZ
I'm not fully against rolling out our own system, but for the love of all
that is holy, let's not base it on Make.
--
Guillaume Quintard
On Thu, May 14, 2020 at 7:48 AM Poul-Henning Kamp <phk at phk.freebsd.dk>
wrote:
> --------
> In message <CAJ6ZYQy_tL8C7yWsyuxk-=
> gjsFy3Zy_U-wcbeGD63HsVkZ+3Zw at mail.gmail.com>
> , Guillaume Quintard writes:
>
> >
> >We have been ranting at autotools for years now, and it's been a couple of
> >years since we tried to get rid of them, so, let's try again, this time
> >with the "new" kid on the block: meson (https://mesonbuild.com/)
>
> I'm all for improving our build system, but it has to be an improvement.
>
> One thing that would worry me a bit about meson is the sheer number
> of dependencies involved.
>
> To build it from scratch seems to involve at total of 238 ports on FreeBSD
> (list below), including both python2, python3, tcl86, mecurial and as far
> as I can tell anything anybody ever spotted on github.
>
> Meson is probably not directly to blame for all 238 ports, but blame
> or not: They sit at the top of a very, *very* tall tower.
>
> Considering how seldom we do nontrivial changes to our build instructions,
> I would be far more tempted towards a python script which produces a bunch
> of powerful but tedious Makefiles with full dependency tracking.
>
> Poul-Henning
>
> /freebsd/ports/archivers/libarchive
> /freebsd/ports/archivers/liblz4
> /freebsd/ports/archivers/lzo2
> /freebsd/ports/converters/libiconv
> /freebsd/ports/converters/p5-Text-Unidecode
> /freebsd/ports/converters/py-webencodings
> /freebsd/ports/databases/db5
> /freebsd/ports/databases/gdbm
> /freebsd/ports/databases/py-sqlite3
> /freebsd/ports/databases/sqlite3
> /freebsd/ports/devel/apr1
> /freebsd/ports/devel/atf
> /freebsd/ports/devel/autoconf
> /freebsd/ports/devel/autoconf-wrapper
> /freebsd/ports/devel/automake
> /freebsd/ports/devel/bison
> /freebsd/ports/devel/boehm-gc
> /freebsd/ports/devel/bzr
> /freebsd/ports/devel/check
> /freebsd/ports/devel/cmake
> /freebsd/ports/devel/cvsps
> /freebsd/ports/devel/dbus
> /freebsd/ports/devel/dbus-glib
> /freebsd/ports/devel/gettext-runtime
> /freebsd/ports/devel/gettext-tools
> /freebsd/ports/devel/git
> /freebsd/ports/devel/glib20
> /freebsd/ports/devel/gmake
> /freebsd/ports/devel/jsoncpp
> /freebsd/ports/devel/kyua
> /freebsd/ports/devel/libatomic_ops
> /freebsd/ports/devel/libedit
> /freebsd/ports/devel/libffi
> /freebsd/ports/devel/libltdl
> /freebsd/ports/devel/libpthread-stubs
> /freebsd/ports/devel/libtextstyle
> /freebsd/ports/devel/libtool
> /freebsd/ports/devel/libunistring
> /freebsd/ports/devel/libuv
> /freebsd/ports/devel/lutok
> /freebsd/ports/devel/m4
> /freebsd/ports/devel/mercurial
> /freebsd/ports/devel/meson
> /freebsd/ports/devel/ninja
> /freebsd/ports/devel/npth
> /freebsd/ports/devel/p5-Locale-libintl
> /freebsd/ports/devel/p5-Sub-Uplevel
> /freebsd/ports/devel/p5-Term-ReadKey
> /freebsd/ports/devel/p5-Test-Deep
> /freebsd/ports/devel/p5-Test-Exception
> /freebsd/ports/devel/p5-Test-NoWarnings
> /freebsd/ports/devel/p5-Test-Warn
> /freebsd/ports/devel/p5-subversion
> /freebsd/ports/devel/pcre
> /freebsd/ports/devel/pkgconf
> /freebsd/ports/devel/py-Jinja2
> /freebsd/ports/devel/py-apipkg
> /freebsd/ports/devel/py-asn1crypto
> /freebsd/ports/devel/py-atomicwrites
> /freebsd/ports/devel/py-attrs
> /freebsd/ports/devel/py-babel
> /freebsd/ports/devel/py-cffi
> /freebsd/ports/devel/py-click
> /freebsd/ports/devel/py-coverage
> /freebsd/ports/devel/py-dateutil
> /freebsd/ports/devel/py-dbus
> /freebsd/ports/devel/py-entrypoints
> /freebsd/ports/devel/py-extras
> /freebsd/ports/devel/py-flaky
> /freebsd/ports/devel/py-freezegun
> /freebsd/ports/devel/py-fs
> /freebsd/ports/devel/py-genty
> /freebsd/ports/devel/py-hypothesis
> /freebsd/ports/devel/py-importlib-metadata
> /freebsd/ports/devel/py-incremental
> /freebsd/ports/devel/py-invoke
> /freebsd/ports/devel/py-iso8601
> /freebsd/ports/devel/py-linecache2
> /freebsd/ports/devel/py-mock
> /freebsd/ports/devel/py-more-itertools
> /freebsd/ports/devel/py-nose
> /freebsd/ports/devel/py-pbr
> /freebsd/ports/devel/py-pip
> /freebsd/ports/devel/py-pluggy
> /freebsd/ports/devel/py-pretend
> /freebsd/ports/devel/py-py
> /freebsd/ports/devel/py-pyasn1
> /freebsd/ports/devel/py-pycparser
> /freebsd/ports/devel/py-pympler
> /freebsd/ports/devel/py-pytest
> /freebsd/ports/devel/py-pytest-capturelog
> /freebsd/ports/devel/py-pytest-cov
> /freebsd/ports/devel/py-pytest-forked
> /freebsd/ports/devel/py-pytest-mock
> /freebsd/ports/devel/py-pytest-rerunfailures
> /freebsd/ports/devel/py-pytest-runner
> /freebsd/ports/devel/py-pytest-timeout
> /freebsd/ports/devel/py-pytest-xdist
> /freebsd/ports/devel/py-python-mimeparse
> /freebsd/ports/devel/py-pytz
> /freebsd/ports/devel/py-readme_renderer
> /freebsd/ports/devel/py-scripttest
> /freebsd/ports/devel/py-semantic_version
> /freebsd/ports/devel/py-setuptools
> /freebsd/ports/devel/py-setuptools_scm
> /freebsd/ports/devel/py-simplejson
> /freebsd/ports/devel/py-six
> /freebsd/ports/devel/py-sortedcontainers
> /freebsd/ports/devel/py-testtools
> /freebsd/ports/devel/py-tox
> /freebsd/ports/devel/py-traceback2
> /freebsd/ports/devel/py-twine
> /freebsd/ports/devel/py-unittest2
> /freebsd/ports/devel/py-virtualenv
> /freebsd/ports/devel/py-wcwidth
> /freebsd/ports/devel/py-wheel
> /freebsd/ports/devel/py-yaml
> /freebsd/ports/devel/py-zipp
> /freebsd/ports/devel/py-zope.interface
> /freebsd/ports/devel/pydbus-common
> /freebsd/ports/devel/readline
> /freebsd/ports/devel/scons
> /freebsd/ports/devel/subversion
> /freebsd/ports/devel/xorg-macros
> /freebsd/ports/dns/libidn2
> /freebsd/ports/dns/py-idna
> /freebsd/ports/emulators/tpm-emulator
> /freebsd/ports/ftp/curl
> /freebsd/ports/graphics/py-imagesize
> /freebsd/ports/lang/cython
> /freebsd/ports/lang/expect
> /freebsd/ports/lang/lua52
> /freebsd/ports/lang/p5-Error
> /freebsd/ports/lang/perl5.30
> /freebsd/ports/lang/python27
> /freebsd/ports/lang/python37
> /freebsd/ports/lang/tcl86
> /freebsd/ports/math/gmp
> /freebsd/ports/misc/dejagnu
> /freebsd/ports/misc/getopt
> /freebsd/ports/misc/help2man
> /freebsd/ports/misc/py-pexpect
> /freebsd/ports/misc/py-tqdm
> /freebsd/ports/net/p5-IO-Socket-INET6
> /freebsd/ports/net/p5-Socket6
> /freebsd/ports/net/py-pysocks
> /freebsd/ports/net/py-urllib3
> /freebsd/ports/ports-mgmt/pkg
> /freebsd/ports/print/indexinfo
> /freebsd/ports/print/libpaper
> /freebsd/ports/print/texinfo
> /freebsd/ports/security/ca_root_nss
> /freebsd/ports/security/gnupg
> /freebsd/ports/security/gnutls
> /freebsd/ports/security/libassuan
> /freebsd/ports/security/libgcrypt
> /freebsd/ports/security/libgpg-error
> /freebsd/ports/security/libksba
> /freebsd/ports/security/libsodium
> /freebsd/ports/security/libtasn1
> /freebsd/ports/security/nettle
> /freebsd/ports/security/p11-kit
> /freebsd/ports/security/p5-Authen-SASL
> /freebsd/ports/security/p5-Digest-HMAC
> /freebsd/ports/security/p5-GSSAPI
> /freebsd/ports/security/p5-IO-Socket-SSL
> /freebsd/ports/security/p5-Net-SSLeay
> /freebsd/ports/security/pinentry
> /freebsd/ports/security/pinentry-tty
> /freebsd/ports/security/py-SecretStorage
> /freebsd/ports/security/py-bcrypt
> /freebsd/ports/security/py-certifi
> /freebsd/ports/security/py-cryptography
> /freebsd/ports/security/py-cryptography-vectors
> /freebsd/ports/security/py-keyring
> /freebsd/ports/security/py-keyrings.alt
> /freebsd/ports/security/py-openssl
> /freebsd/ports/security/py-paramiko
> /freebsd/ports/security/py-pycrypto
> /freebsd/ports/security/py-pynacl
> /freebsd/ports/security/rhash
> /freebsd/ports/security/trousers
> /freebsd/ports/shells/bash
> /freebsd/ports/sysutils/py-execnet
> /freebsd/ports/sysutils/py-filelock
> /freebsd/ports/sysutils/py-pkginfo
> /freebsd/ports/sysutils/py-ptyprocess
> /freebsd/ports/textproc/asciidoc
> /freebsd/ports/textproc/docbook
> /freebsd/ports/textproc/docbook-sgml
> /freebsd/ports/textproc/docbook-xml
> /freebsd/ports/textproc/docbook-xsl
> /freebsd/ports/textproc/expat2
> /freebsd/ports/textproc/html2text
> /freebsd/ports/textproc/iso8879
> /freebsd/ports/textproc/libxml2
> /freebsd/ports/textproc/libxslt
> /freebsd/ports/textproc/minixmlto
> /freebsd/ports/textproc/p5-Unicode-EastAsianWidth
> /freebsd/ports/textproc/py-MarkupSafe
> /freebsd/ports/textproc/py-alabaster
> /freebsd/ports/textproc/py-chardet
> /freebsd/ports/textproc/py-docutils
> /freebsd/ports/textproc/py-pygments
> /freebsd/ports/textproc/py-pystemmer
> /freebsd/ports/textproc/py-snowballstemmer
> /freebsd/ports/textproc/py-sphinx
> /freebsd/ports/textproc/py-sphinx_rtd_theme
> /freebsd/ports/textproc/py-sphinxcontrib-websupport
> /freebsd/ports/textproc/py-toml
> /freebsd/ports/textproc/py-towncrier
> /freebsd/ports/textproc/sdocbook-xml
> /freebsd/ports/textproc/utf8proc
> /freebsd/ports/textproc/xmlcatmgr
> /freebsd/ports/textproc/xmlcharent
> /freebsd/ports/textproc/xmlto
> /freebsd/ports/www/libnghttp2
> /freebsd/ports/www/p5-CGI
> /freebsd/ports/www/p5-HTML-Parser
> /freebsd/ports/www/p5-HTML-Tagset
> /freebsd/ports/www/p5-Mozilla-CA
> /freebsd/ports/www/py-bleach
> /freebsd/ports/www/py-django111
> /freebsd/ports/www/py-html5lib
> /freebsd/ports/www/py-requests
> /freebsd/ports/www/py-requests-toolbelt
> /freebsd/ports/www/py-tornado
> /freebsd/ports/www/serf
> /freebsd/ports/www/w3m
> /freebsd/ports/x11/libICE
> /freebsd/ports/x11/libSM
> /freebsd/ports/x11/libX11
> /freebsd/ports/x11/libXau
> /freebsd/ports/x11/libXdmcp
> /freebsd/ports/x11/libxcb
> /freebsd/ports/x11/xcb-proto
> /freebsd/ports/x11/xorgproto
> /freebsd/ports/x11/xtrans
>
> --
> Poul-Henning Kamp | UNIX since Zilog Zeus 3.20
> phk at FreeBSD.ORG | TCP/IP since RFC 956
> FreeBSD committer | BSD since 4.3-tahoe
> Never attribute to malice what can adequately be explained by incompetence.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.varnish-cache.org/lists/pipermail/varnish-misc/attachments/20200514/388e8cb0/attachment.html>
More information about the varnish-misc
mailing list