Commit graph

105 commits

Author SHA1 Message Date
Daniel Eklöf
9389f337d0
pgo: full-inner: do not set LC_CTYPE=en_US.UTF-8
That locale may not exist. Instead, require the user/build script to
explicitly set an UTF-8 locale.

Document this in INSTALL.md, and in the bundled PKGBUILD.
2021-10-02 14:46:02 +02:00
Daniel Eklöf
c1f18360c2
meson/pkgbuild: bump version to 1.9.1 2021-10-01 20:52:33 +02:00
Daniel Eklöf
7e53de263b
pkgbuild: add back --prefix --wrap-mode=nofallback 2021-09-12 10:39:45 +02:00
Daniel Eklöf
e77c3b3e4f
pkgbuild: add ‘auto’ to the list of possible PGO values 2021-09-12 10:39:45 +02:00
Daniel Eklöf
2181af0552
pkgbuild: the pgo script erases the old profdata files 2021-09-12 10:39:45 +02:00
Daniel Eklöf
579e1f80b4
pkgbuild: build using pgo/pgo.sh 2021-09-12 10:39:44 +02:00
Daniel Eklöf
fe0b348f89
pkgbuild: fix terminfo package install location 2021-08-30 20:20:37 +02:00
Daniel Eklöf
173bb805c2
pkgbuild: line-wrap meson configure command line 2021-08-30 20:20:12 +02:00
Daniel Eklöf
cf767427d7
pkgbuild: fix terminfo removal 2021-08-30 19:33:22 +02:00
Daniel Eklöf
fec5f8784b
meson/pkgbuild: bump version to 1.9.0 2021-08-27 13:32:21 +02:00
Daniel Eklöf
7639186865
terminfo: install to $datadir/foot/terminfo by default, append to TERMINFO_DIRS
As of 2021-07-31, ncurses ships its own version of foot’s terminfo.

Since:

* It doesn’t have the non-standard Sync,Tc,setrgbf,setrgbb
  capabilities.
* It doesn’t set hs,fsl,dsl (statusbar).
* We want to be able to update our termminfo without waiting for an
  ncurses release.
* Foot should be installable and usable on Linux systems that doesn’t
  have the latest ncurses.

we still want to ship our own version. We can however not install it
to the default terminfo location (e.g. /usr/share/terminfo), since it
will collide with the ncurses provided files.

Our options are to either rename our terminfo to something else, or to
keep the name, but install our terminfo files somewhere else.

The first option would be the easy one. However, I think it makes
sense to use the same name. For example, a user that SSH’s into a
remote system that does *not* have our own version installed,
but *does* have the ncurses one, will gracefully fall back to that
one, which is better than manually having to set
e.g. TERM=xterm-256color.

Now, if we want to use the same name, we need to install it somewhere
else. But where? And how do we ensure our version is preferred over
the ncurses one?

I opted to $datadir/foot/terminfo (e.g. /usr/share/foot/terminfo) by
default. It makes it namespaced to foot (i.e. we’re not introducing a
new “standard” terminfo location), thus guaranteeing it wont collide
with ncurses.

To enable applications to find it, we export TERMINFO_DIRS. This is a
list of *additional* directories to search for terminfo files. If it’s
already defined, we *append* to it.

The nice thing with this is, if there’s no terminfo in that
location (e.g. when you SSH into a remote), the default terminfo
location is *also* searched. But only *after* having searched through
TERMINFO_DIRS.

In short: our version is preferred, but the ncurses one (or an older
version of our terminfo package!) will be used if ours cannot be
found.

To enable packagers full control over the new behavior, the existing
meson command line options have been modified, and a new option added:

-Dterminfo=disabled|enabled|auto: *build* and *install* the terminfo
files.

-Dcustom-terminfo-install-location=<path>: *where* the terminfo files
are expected to be found.

This *needs* to be set *even* if -Dterminfo=disabled. For example, if
the packaging script builds and packages the terminfo files separate
from the regular foot build. The path is *relative to $prefix*, and
defaults to $datadir/foot/terminfo.

This is the value that will be appended to TERMINFO_DIRS. Note that
you can set it to ‘no’, in which case foot will *not* set/modify
TERMINFO_DIRS. Only do this if you don’t intend to package foot’s
terminfo files at all (i.e. you plan on using the ncurses ones only).

-Ddefault-terminfo=foot. Allows overriding the default TERM
value. This should only be changed if the target platform doesn’t
support terminfo files.

Closes #671
2021-08-17 21:04:30 +02:00
Daniel Eklöf
cd8c96d746
meson/pkgbuild: bump version to 1.8.2 2021-07-18 17:58:05 +02:00
Daniel Eklöf
1d488bb6a7
meson/pkgbuild: bump version to 1.8.1 2021-07-01 20:14:35 +02:00
Daniel Eklöf
0a455174f4
meson/pkgbuild: bump version to 1.8.0 2021-06-25 08:24:42 +02:00
Daniel Eklöf
2c32d8617a
pkgbuild: add libutf8proc dependency 2021-06-24 20:29:15 +02:00
Daniel Eklöf
6761d50ba5
pkgbuild: bump fcft requirement to 2.4.0 2021-05-25 19:01:06 +02:00
Daniel Eklöf
1cb89fef9e
pkgbuild: run ‘ninja test’ in the PGO generate phase
This is needed when fcft/tllist are built as subprojects, since then
we must ensure their unit tests are executed, or we’ll get “profile
count data file not found” errors.
2021-04-22 11:28:04 +02:00
Daniel Eklöf
0d4e61bbe8
meson/pkgbuild: bump version to 1.7.2 2021-04-18 20:12:40 +02:00
Daniel Eklöf
ca89f977b5
meson/pkgbuild: bump version to 1.7.1 2021-03-28 14:25:29 +02:00
Daniel Eklöf
628382bc90
PKGBUILD: do PGO with either gcc or clang, but nothing else
Before this, we assumed gcc was being used. The build would fail if
clang (or something else) was used.

Now, we check whether we’re compiling with gcc or clang, and disable
PGO if it’s neither of them.

Furthermore, we’re now adding the necessary flags needed to do PGO
with clang.

Note that ‘llvm-profdata’, from the ‘llvm’ package is needed for
PGO:ing with clang. PGO is disabled if it isn’t available. It would be
nice to have ‘llvm’ as an optional make dependency, but PKGBUILDs
doesn’t appear to support such a thing.

Finally, the -Wno-missing-profile flag, and its friends, have been
removed; instead we execute “footclient --version” (and “foot
--version”, in partial PGO builds) to ensure all generated binaries
have been executed before we do the final build (with
-Db_pgo=use). This fixes build failures with clang >= 11.x.
2021-03-26 22:16:54 +01:00
Daniel Eklöf
c1a64bfb14
meson/pkgbuild: bump version to 1.7.0 2021-03-20 14:01:29 +01:00
Daniel Eklöf
dcd4f1ca79
meson/pkgbuild: bump version to 1.6.4 2021-02-12 21:27:47 +01:00
Daniel Eklöf
4c168b84cf
meson/pkgbuild: bump version to 1.6.3 2021-01-29 19:53:10 +01:00
Daniel Eklöf
c6a53d5e33
meson/pkgbuild: bump version to 1.6.2 2020-12-21 15:58:25 +01:00
Daniel Eklöf
098a7e42cb
meson/pkgbuild: bump version to 1.6.0 2020-12-18 14:52:10 +01:00
Daniel Eklöf
c1c42f047e
Merge branch 'releases/1.5' 2020-12-01 20:02:58 +01:00
Daniel Eklöf
3156db74ec
meson/pkgbuild: bump version to 1.5.4 2020-12-01 19:52:36 +01:00
Daniel Eklöf
c03a4f6ffb
pkgbuild: add --sixel to generate-alt-random-writes 2020-11-24 21:31:44 +01:00
Daniel Eklöf
46eb23adc0
pkgbuild: revert accidental update of version 2020-11-22 19:29:45 +01:00
Daniel Eklöf
e23ab4a7a3
pkgbuild: no need to run pgo input *that* many times 2020-11-22 19:29:44 +01:00
Daniel Eklöf
e60fd1e113
pkgbuild: add --attr-{bold,italic,underline} to generate-alt-random-writes 2020-11-22 19:29:43 +01:00
Daniel Eklöf
e1bde0b0e7
remove pre-generated input corpus for PGO 2020-11-22 19:29:43 +01:00
Daniel Eklöf
9ea1bb8881
pkgbuild: add --colors-256 to generate-alt-random-writes 2020-11-22 19:29:42 +01:00
Daniel Eklöf
a6fc5d64e8
pkgbuild: remove -fno-plt 2020-11-14 14:00:57 +01:00
Daniel Eklöf
e2a7c7f243
pkgbuild: append ‘foot-terminfo’ dependency in package_foot-git()
This ensures that:

* Main dependencies are still checked before the package is built
* Makepkg doesn’t complain about missing dependency foot-terminfo
2020-11-12 08:02:57 +01:00
Daniel Eklöf
0ec69eb846
pkgbuild: make foot-terminfo a hard dependency for foot 2020-11-11 21:07:17 +01:00
Daniel Eklöf
90abdab345
meson/pkgbuild: bump version to 1.5.3 2020-11-06 20:16:27 +01:00
Daniel Eklöf
f1e422b25a
meson/pkgbuild: bump version to 1.5.2 2020-10-13 08:04:37 +02:00
Daniel Eklöf
2f20550893
meson/pkgbuild: bump version to 1.5.1 2020-10-11 19:31:25 +02:00
Daniel Eklöf
bfe3dfaf5c
meson/pkgbuild: bump version to 1.5.0 2020-09-18 21:23:27 +02:00
Daniel Eklöf
8dd358a8f4
meson/pkgbuild: bump fcft requirement to 2.3.0 2020-09-18 21:03:40 +02:00
Daniel Eklöf
0bba1edb9c
meson/pkgbuild: require fcft-2.2.90 2020-09-15 08:03:52 +02:00
Daniel Eklöf
8fb7347150
meson/pkgbuild: bump tllist requirement to 1.0.4
This is the first version of tllist that compiles with '-pedantic'.
2020-08-25 18:52:44 +02:00
Daniel Eklöf
6b22758f35
meson/pkgbuild: update version to 1.4.4 2020-07-29 07:02:43 +02:00
Daniel Eklöf
e71108d7c3
meson/pkgbuild: bump version to 1.4.3 2020-07-27 18:55:28 +02:00
Daniel Eklöf
700edff214
pkgbuild: include changelog 2020-07-25 09:06:04 +02:00
Daniel Eklöf
c2a58451e0
meson/pkgbuild: bump to 1.4.2 2020-07-23 18:51:48 +02:00
Daniel Eklöf
b238443a71
meson/pkgbuild: bump version to 1.4.1 2020-07-22 20:03:48 +02:00
Daniel Eklöf
591829bf50
meson/pkgbuild: bump version to 1.4.0, require fcft 2.2.2 2020-07-22 18:59:36 +02:00
Daniel Eklöf
bd0a003a4c
meson/PKGBUILD: bump fcft requirement to 2.2.0 2020-07-07 11:57:07 +02:00