Commit Graph

13 Commits

Author SHA1 Message Date
NRK
8f0322c2e3 Release version 31
Co-authored-by: Berke Kocaoğlu <kberke@metu.edu.tr>
2023-01-28 16:31:23 +06:00
NRK
76c2b81b60 add support for multi-frame images via imlib2 (#373)
this will be a massive change compared to the usual stuff. however the
gains will be worth it:

* we gain lots of additional animated image support.
* and we'll gain _even_ more format support as imlib2 adds them, without needing
  any change in our code-base.
* about ~300 LoC will be purged once we remove our internal gif and webp loader.

as for when to remove the internal loaders, a good time might be when debian
upgrades their imlib2, currently it seems to be at v1.7.5, which doesn't support
animated images.

as of now, nsxiv will continue to build with the internal gif/webp loaders
(assuming they were enabled in config.mk) if imlib2 version is below 1.8.0 and
will print out a deprecation notice.

and if imlib2 version supports multi-frame then it will simply ignore the
internal loaders and use the imlib2 one.

in other words, users shouldn't need to do anything on their side. everything
that previously functioned will continue to function regardless of the user's
imlib2 version (though they might see the annoying deprecation notice if the
imlib2 version doesn't support multi-frame images).

known issue:

* image loading performance can be noticeably worse in
  imlib2 versions below 1.9.0

Closes: https://codeberg.org/nsxiv/nsxiv/issues/301
Closes: https://codeberg.org/nsxiv/nsxiv/issues/300
Reviewed-on: https://codeberg.org/nsxiv/nsxiv/pulls/373
Reviewed-by: TAAPArthur <taaparthur@noreply.codeberg.org>
2023-01-08 10:02:56 +00:00
NRK
33a5d54cae Release version 30
Co-authored-by: NRK <nrk@disroot.org>
Co-authored-by: Berke Kocaoğlu <berke.kocaoglu@metu.edu.tr>
2022-06-15 16:07:46 +02:00
NRK
c713186ce9 Makefile: use lowercase for internal macros
ref: 971f5d6694
2022-05-30 12:07:01 +00:00
NRK
6c30fb22cc config.mk: use c99 as default CC
See https://github.com/nsxiv/nsxiv/issues/262#issuecomment-1111216349
for related discussion.
2022-05-30 12:07:01 +00:00
NRK
0d202f0fe1 config.mk: add comments for OpenBSD users
Closes: https://github.com/nsxiv/nsxiv/issues/262
2022-05-30 12:07:01 +00:00
NRK
197afce935 introduce config.mk
this moves all the build variables intended to be modified by the user
over to `config.mk` similar to other suckless software.

also move CPPFLAGS down below for cosmetic purposes.
2022-05-30 12:07:01 +00:00
Bert Münnich
5155d52ab1 Much more portable Makefile
The config.mk file is now optional and only needs to be created if one wants to
persistently overwrite default macro values.

Features used in the Makefile that are not yet in the POSIX standard:

  - Advanced macro assignment operators '+=' and '?=' [1]
  - Special target .PHONY [2]
  - Pattern rules [3]; only needed when $srcdir != '.'. For every pattern rule
    there is an inference rule with the same effect. Hopefully, the inference
    rules get picked up by make programs not supporting pattern rules.
  - Silently including multiple possibly not exisiting files [4] [5]

[1] http://austingroupbugs.net/view.php?id=330
[2] http://austingroupbugs.net/view.php?id=523
[3] http://austingroupbugs.net/view.php?id=513
[4] http://austingroupbugs.net/view.php?id=333
[5] http://austingroupbugs.net/view.php?id=518
2017-10-12 11:00:24 +02:00
Bert Münnich
e3b68efadd Move DEPFLAGS from Makefile to config.mk 2017-10-08 22:02:29 +02:00
Bert Münnich
171633de32 Get rid of SRCDIR macro, VPATH on make cmd line suffices 2017-10-08 20:23:16 +02:00
Bert Münnich
a46006f527 Support out-of-source builds
Fixes issue #167. Long after closing this issue (kind of wontfix) we have switched to
GNU make and can thus use its features like VPATH.
2017-09-08 16:20:05 +02:00
Bert Münnich
e46b1fa609 Simplify config.mk 2017-09-08 16:03:05 +02:00
Bert Münnich
ad9955a9cf Move configuration parts from Makefile into config.mk 2017-09-06 20:12:09 +02:00