234 Commits

Author SHA1 Message Date
Michael Stapelberg
a901498758 debian: update changelog 2020-11-15 18:28:25 +01:00
Michael Stapelberg
f4d784b5a7 debian/rules: remove now-unnecessary override
related to https://github.com/i3/i3/issues/4086
2020-11-15 16:42:41 +01:00
Michael Stapelberg
5c565d0ad4 debian/rules: explicitly enable building manpages
This fixes a build failure in dh_installwms.

fixes #4136
2020-10-28 21:34:48 +01:00
Michael Stapelberg
83078a1e16 debian: update changelog 2020-10-19 23:41:16 +02:00
Michael Stapelberg
ce01babc7c Update debian/changelog 2020-10-19 23:17:05 +02:00
Michael Stapelberg
15e51ca38c Update debian/changelog 2020-07-26 10:25:37 +02:00
Michael Stapelberg
571eec861e debian: remove i3-wm.{docs,manpages}, meson installs them
related to #4086
2020-05-19 19:36:56 +02:00
Michael Stapelberg
0bea175b51 disable dh_autoreconf
We still have autotools in the tree, so this is not a no-op yet.

related to #4086
2020-05-19 19:07:53 +02:00
Michael Stapelberg
ff6c2d2214 debian: set buildsystem to meson, not meson+ninja
The latter fails on Ubuntu, presumably due to an older debhelper version.

related to #4086
2020-05-19 19:07:51 +02:00
Michael Stapelberg
693eee0c03 meson: make docdir configurable
The debian package wants to install docs to $datadir/doc/i3-wm.

related to #4086
2020-05-19 19:07:45 +02:00
Michael Stapelberg
aba6ec3e52
add meson build files (#4094)
Motivation:

• faster builds (on an Intel Core i9-9900K):
  ( ../configure --disable-sanitizers && make -j8; )
  19,47s user 2,78s system 395% cpu 5,632 total

  ( meson .. -Dmans=true -Ddocs=true -Dprefix=/usr && ninja; )
  38,67s user 3,73s system 1095% cpu 3,871 total

• more approachable build system configuration in the
  python-esque meson domain specific language instead of
  the autotools m4 macro language

• built-in language server support thanks to ninja:
  the required compile_commands.json is built automatically
  and only needs to be linked from the source dir, e.g.:
  ln -s build/compile_commands.json .

Changes:

• the embedded vcs version info format changed from e.g.
  4.18-282-gabe46f69 (2020-05-16, branch "next")
  to:
  4.18-282-gabe46f69
  I think it’s better to lose a little bit of detail for
  the gained cleanliness of using meson’s vcs_tag()

• Drop unused xcb-event dependency.

• We can no longer enable sanitizers and debug options
  based on whether we are in a release or non-release build,
  because our new version logic runs at ninja build time,
  not at meson configure time.

  The new behavior is probably for the better in terms of
  what people expect, and we can make the CI use address sanitizer
  explicitly to ensure it is still exercised.

• We lose the AX_EXTEND_SRCDIR behavior, i.e. including the
  path component of the parent of the source dir in all paths.
  This was a trick we used for easier debugging, so that stack
  traces would contain e.g. ../i3-4.18.1/src/main.c, instead of
  just src/main.c.

  The other mechanism (_i3_version symbol) that we have for including
  the version number in the “backtrace full” (but not merely
  “backtrace”) output of gdb still works.

• Release tarballs now use tar.xz. Why not.

Migration plan

This commit adds the meson build files to the tree, but does not remove
autotools yet. For the development phase, we will keep both build systems
functional (and built on travis).

Then, just before the i3 v4.19 release, we will remove autotools from the tree
and the release tarball will require meson to compile.

This way, we incentivize maintainers to change, while also offering them an easy
way out (if desired) by reverting the most recent commit. In practice, switching
a distribution package from autotools to meson should only be a few line change,
easier than applying the provided patch :). Take a look at the debian/ changes
in this commit for an example.

meson is broadly available everywhere that i3 is available: Both xorg-server and
systemd gained meson build files in 2017, so we can follow suit:
https://anholt.livejournal.com/52574.html
https://in.waw.pl/~zbyszek/blog/systemd-meson.html

How do I?

For producing a coverage report, enable the b_coverage meson base option
and run ninja coverage-html:
% cd build
% meson .. -Db_coverage=true
% ninja
% ninja test
% ninja coverage-html
See also https://mesonbuild.com/howtox.html#producing-a-coverage-report

For using the address sanitizer, memory sanitizer or undefined behavior
sanitizer, use the b_sanitize meson base option:
% cd build
% meson .. -Db_sanitize=address
% ninja
See also https://mesonbuild.com/Builtin-options.html#base-options

related to #4086
2020-05-19 14:45:06 +02:00
Michael Stapelberg
f9ed0db694 Update debian/changelog 2020-04-22 09:24:59 +02:00
Michael Stapelberg
30e886b031 debian: update changelog 2020-02-17 18:31:40 +01:00
Michael Stapelberg
39a65166c4 update debian/changelog 2019-08-30 23:46:42 +02:00
Michael Stapelberg
c0f987fd66 Update debian/changelog 2019-08-30 23:06:59 +02:00
Michael Stapelberg
2ec14630fd Merge branch 'master' into next 2019-08-30 23:06:59 +02:00
Michael Stapelberg
c36311f614 debian: update changelog 2019-08-03 15:22:06 +02:00
Michael Stapelberg
cddaa2c57b Update debian/changelog 2019-08-03 15:14:53 +02:00
Michael Stapelberg
ea00565ad3 Merge branch 'next' into master 2019-08-03 15:14:52 +02:00
Albert Safin
1a85619498 Add input and bounding shapes support (#2742)
Basic idea: if the window has a shape, set the parent container shape as
the union of the window shape and the shape of the frame borders.

Co-authored-by: Uli Schlachter <psychon@znc.in>
2018-12-01 11:52:41 +07:00
Michael Stapelberg
cb09db94dc update debian/changelog 2018-11-04 14:55:50 +01:00
Michael Stapelberg
e6f2255ed2 Update debian/changelog 2018-11-04 14:47:46 +01:00
Michael Stapelberg
1847938d4e Merge branch 'next' into master 2018-11-04 14:47:46 +01:00
Michael Stapelberg
02284acba8
debian/control: remove dependency on x11-utils (#3455)
This was a introduce in commit a61e34d2771fffdf2d94ee69d887585087c76b98 in 2009,
and we haven’t used xmessage in any way in a long time.

fixes https://bugs.debian.org/910997
2018-10-15 18:00:43 +02:00
Michael Stapelberg
e6b2fefe26 debian: update changelog 2018-03-10 18:35:11 +01:00
Michael Stapelberg
de0ff844e0 Update debian/changelog 2018-03-10 18:29:21 +01:00
Michael Stapelberg
cdf9a8f77e Merge branch 'next' into master 2018-03-10 18:29:21 +01:00
Ingo Bürk
8acddcab93
Merge pull request #3150 from stapelberg/examples
debian: install contrib/ scripts as examples (Thanks anarcat)
2018-02-24 09:42:14 +01:00
Michael Stapelberg
b280f103cf debian: explicitly use gzip compression
fixes #3146
2018-02-24 08:57:35 +01:00
Michael Stapelberg
128f4dcb2e debian: install contrib/ scripts as examples (Thanks anarcat) 2018-02-24 08:24:53 +01:00
Edward Betts
9ea5c238e1
Correct spelling a mistake. 2018-02-07 08:01:26 +00:00
Michael Stapelberg
89d6287110 update debian/changelog and release.sh after release (#2987) 2017-09-25 09:04:31 +02:00
Michael Stapelberg
aa0b1f599f Replace http:// with https:// where applicable
The testcases will be updated automatically in a separate commit.
2017-09-24 17:07:15 +02:00
Michael Stapelberg
d968d39b27 Replace http:// with https:// where applicable
The testcases will be updated automatically in a separate commit.
2017-09-24 10:19:07 +02:00
Michael Stapelberg
5df53f57c4 debian: update changelog 2017-09-04 08:21:06 +02:00
Michael Stapelberg
e1f6a3e3d3 Update debian/changelog 2017-09-04 07:53:39 +02:00
Michael Stapelberg
7af2faebd8 Merge branch 'next' into master 2017-09-04 07:53:39 +02:00
Michael Stapelberg
4ccac59932 debian: update changelog 2016-11-08 21:31:34 +01:00
Michael Stapelberg
7785e7be7d Update debian/changelog 2016-11-08 19:54:15 +01:00
Michael Stapelberg
1994eea5da Merge branch 'next' into master 2016-11-08 19:54:14 +01:00
Michael Stapelberg
667857f568 debian: prefix paths debian/tmp/ to avoid confusion
Without the prefix, the etc/ directory will be copied from the source
directory, as opposed to the debian/tmp directory into which files were
installed.
2016-11-08 19:53:08 +01:00
Michael Stapelberg
d953066734 debian: update standards-version to 3.9.8 (no changes necessary) 2016-11-08 19:41:37 +01:00
Michael Stapelberg
69ebc0ca1e debian: remove now-unnecessary lintian overrides 2016-11-08 19:41:37 +01:00
Michael Stapelberg
212a408d4b debian: install docs to usr/share/doc/i3-wm 2016-11-08 19:41:35 +01:00
Michael Stapelberg
8ddc18756c debian: add missing dh-autoreconf to Build-Depends (#2516) 2016-10-25 20:54:41 +02:00
Michael Stapelberg
8ab1bf6063 Update debian/ for autotools 2016-10-23 21:09:24 +02:00
Michael Stapelberg
0e73a6e9e7 Remove conditional compilation for cairo/pangocairo (#2480)
We strive to avoid conditional compilation in i3 as much as possible.
cairo and pangocairo have been around long enough in the versions that
we need that it’s time to unconditionally depend on them.

Also update DEPENDS with the last-known-good-versions while at it.
2016-09-27 12:57:00 -07:00
Michael Stapelberg
c93056b2d8 Unconditionally depend on libpcre >= 8.10 (#2472)
Even Debian oldstable has 8.30, so let’s get rid of conditional
compilation where we don’t actually need it.
2016-09-26 19:04:13 -07:00
Ingo Bürk
47562b4143 Introduce support for specifying variables from X resources. (#2286)
This patch introduces a new 'set_from_resource' config directive which
allows defining a variable by retrieving its value from the X resource
database. This avoids having to configure a color scheme in multiple
files. The directive takes an additional fallback value which is used
in case the resource cannot be found or during config validation where
no X connection is available.

Furthermore, this patch includes the following changes:
- If the same variable is defined twice, we now properly overwrite the
  value of the assignment rather than inserting two variable definitions
  with the same key.
- We now depend on xcb-util-xrm to query the resource.
- Increase the buffer size for variable / resource assignments.

fixes #2130
2016-05-08 12:55:27 +02:00
Michael Stapelberg
ba550382a3 debian: remove menu file, add lintian-overrides 2016-04-01 16:34:56 +02:00