Commit Graph

63 Commits

Author SHA1 Message Date
Sergei Trofimovich
8f88cd3f7a emacs: drop unused xlibsWrapper 2022-12-01 23:54:14 +00:00
Brian Leung
8ede52a7c1
emacs: change substituteInPlace invocation to an aligning patch
Commit 97b928ce09d6034ebcb541fb548e5d4862302add in Emacs
messed up the substituteInPlace. Use a patch instead to prevent silent failures.

https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=97b928ce09d6034ebcb541fb548e5d4862302add
2022-11-30 11:37:12 -08:00
Thibault Polge
b42d97f572
emacs: build pgtk variant with full image support
Emacs built with pgtk ("pure gtk") isn't X, so `withX` isn't true.
This commit extends the test conditions for format libraries inclusion
to withX || withPgtk, so Pgtk Emacs gets image format support
libraries as well.

Co-authored-by: Atemu <atemu.main@gmail.com>
2022-11-22 07:29:44 +01:00
Adam Joseph
0e2c58c77f
emacs: add withSystemd option 2022-11-14 23:05:55 +13:00
Atemu
5dd7a6e33d emacs: don't call macport emacs -nox 2022-10-15 19:31:54 +02:00
Atemu
d34513014f emacs: always put texinfo in nativeBuildinputs for macport builds
Non-source macport builds require it
2022-10-15 19:31:54 +02:00
Atemu
338701e3de emacs: add myself as maintainer
I added macport support to the generic drv and will maintain that part
2022-10-15 19:31:54 +02:00
Atemu
45d9595b41 emacs: consider macport in meta 2022-10-15 19:31:54 +02:00
Atemu
0ae5a9688b emacs: move Linux-only buildInputs where they belong 2022-10-15 19:31:54 +02:00
Atemu
76d7a14ed2 emacs: integrate macport into generic drv 2022-10-15 19:31:53 +02:00
Atemu
470e40eb1f emacs: provide functional default for patches argument 2022-10-15 19:23:56 +02:00
Brian Leung
499921d643
emacs: avoid installing gsettings-desktop-schemas on Darwin 2022-09-09 15:03:16 -07:00
Brian Leung
6d0e82f11a
emacs: use withPgtk option more
- do not require X when withPgtk is true
- make default settings and boolean logic consistent with withPgtk setting
2022-09-05 16:39:01 -07:00
Anderson Torres
1ed2ad6290
Merge pull request #189543 from adisbladis/emacs-lucid-default
emacs: Switch to lucid as the default toolkit
2022-09-03 10:02:49 -03:00
Anderson Torres
104d14b3c1
Merge pull request #187968 from adisbladis/emacs-xinput2-29
emacs: Enable xinput2 on version 29 and newer
2022-09-03 00:41:06 -03:00
adisbladis
c1861b6658 emacs: Switch to lucid as the default toolkit
Because of long standing bugs and stability issues & an
uncollaborative upstream there has been talk on the emacs-devel
mailing list to switch the default toolkit to
Lucid (https://lists.gnu.org/archive/html/emacs-devel/2022-08/msg00752.html).
The GTK build also has issues with Xinput2, something that both we and
upstream want to enable by default in Emacs 29.

This situation has prompted me to use both Lucid an no-toolkit (pure X11) Emacs
as a daily driver in recent weeks to evaluate what the
advantages/drawbacks are and I have concluded that, at least for me,
switching the toolkit to Lucid is strictly an upgrade.
It has resulted in better stability (there are far fewer tiny UX
issues that are hard to understand/identify) & a snappier UI.
On top of that the closure size is reduced by ~10%.

In the pure X11 build I noticed some unsharpness around fonts so this
is not a good default choice.

As with everything there is a cost, and that is uglier (I think most
would agree but of course this is subjective) menu bars for
those that use them and no GTK scroll bars.

For anyone who still wants to use GTK they could of course still
choose to do so via the new `emacs-gtk` attribute but I think this
is a bad default.

A note to Wayland users:
This does not affect Wayland compatibility in any way since that will
already need a PGTK build variant in the future.
2022-09-03 15:31:45 +12:00
adisbladis
d20c9d7a88 emacs: Set recurseIntoAttrs on package set
In the past the motivation to not recurse into Emacs packages was that
it added quite a lot of packages to the evalution and they were so
fast to build locally that substituting them from a binary cache
didn't make sense.

With native compilation this equation has changed drastically, build
times are much longer and build closures are larger so the utility
of having cached packages has gone way up.

Additionally, it looks to me like Emacs is the only ecosystem in nixpkgs to
ever care about evaluation performance like this.
Every other extensible editor ecosystem has recurseIntoAttrs set to true on their respective
package sets.
2022-08-24 08:45:46 +08:00
adisbladis
ca25a9c7b2 emacs: Enable xinput2 on version 29 and newer 2022-08-23 14:27:12 +08:00
adisbladis
73c90badf3 emacs: Simplify patchelf invocation when building with lucid 2022-08-23 14:27:12 +08:00
Lin Jian
51bd7cf0d0
emacs: enable native-comp 2022-08-18 20:38:37 +08:00
adisbladis
54e795706d emacs: Build from git instead of tarball to fix native compilation
Quoting @collares from #170426:
> The difference between the two versions is that one is built from the
> tarball, while the other is built from Git. The tarball includes
> byte-compiled (.elc) files but not native-compiled (.eln)
> files. The build notices the .elc files and does not rebuild them,
> but native-compilation is a side-effect of byte-compilation and so
> the .eln files aren't built either.
2022-04-27 07:20:33 +12:00
Daniel Nagy
506050b57f
emacs: prepare webp support for versions >=29.1
This prepares the derivation for the upcoming webp image file format
support with Emacs 29.1. Therefore this change is mainly useful with the
"emacs-overlay".

https://github.com/nix-community/emacs-overlay/

Changelog from upstream Emacs:

1cdb8d4c99/etc/NEWS (L435-L439)

More info on image formats in Emacs and how to check for their support:

https://www.gnu.org/software/emacs/manual/html_node/elisp/Image-Formats.html
2022-04-18 17:45:47 +02:00
Azat Bahawi
55f57facbf emacs: 27.2 -> 28.1 2022-04-16 16:53:45 +12:00
Felix Buehler
2e5f265fdb emacs-nox: remove appendToName to have a consistent package name for repology 2022-03-02 11:00:53 -08:00
andreoss
e0620fbefe
emacs: Add withToolkitScrollBars argument 2022-01-30 12:12:21 -05:00
Fabian Möller
4329d79dba
nixos/tests: link tests to their packages 2022-01-23 21:08:10 +01:00
Have a good time
3fdeef8a7e
emacs: Add withXinput2 argument 2021-12-27 17:08:27 +08:00
adisbladis
dbc5845320 emacs: Add withPgtk argument
Recently Emacs merged the pgtk branch.
2021-12-24 11:49:56 -08:00
adisbladis
4b89ac58bb emacs: Use string replacement for gvfs tramp detection rather than a patch
The patches are unwieldy to manage, especially with the automated packaging flows in the Emacs overlay.
2021-12-14 14:35:34 -08:00
Brian Leung
7c8fae3b8b emacs: Add sqlite support introduced in Emacs 29 2021-12-12 22:47:10 -08:00
Peter Simons
476635afe1 Drop myself from meta.maintainers for most packages.
I'd like to reduce the number of Github notifications and
review requests I receive.
2021-10-14 11:01:27 +02:00
hlolli
5efbcf8d7e emacs: fix darwin's aarch64 codesigning issue 2021-06-15 16:05:58 +02:00
AndersonTorres
e9e5f5f84d Change all alsaLib references to alsa-lib 2021-06-10 01:12:49 -03:00
github-actions[bot]
12193913a1
Merge staging-next into staging 2021-05-07 12:23:21 +00:00
Mauricio Collares
67bbabc0a4 emacs: adapt to renamed native-comp variables 2021-05-06 16:47:21 -03:00
Alyssa Ross
6e3b5fd046 libungif: remove in favour of giflib
libungif was merged into giflib in 2006, and hasn't been updated
since.  All non-broken packages still using it build fine with giflib.

See <http://giflib.sourceforge.net/history.html>.
2021-04-16 14:06:10 +00:00
adisbladis
c801ffd4a3
emacs: Use --with-native-compilation instead of --with-nativecomp
Upstream changed this parameter name in https://git.savannah.gnu.org/cgit/emacs.git/commit/?h=feature/native-comp&id=42fc752a14b23be95f02b598930f13a96883d3a0
2021-02-26 23:31:27 +02:00
adisbladis
44131d7fc3
emacs: Remove clean-env patch and use substituteInPlace
This approach applies to _all_ RUN_TEMACS calls and successfully removes -dev paths from the closure and reduces the closure size from ~1.4G to just under ~464M.

It's also less brittle than having in-tree patches.
2021-02-25 12:40:37 +02:00
Mauricio Collares
4d60e14ad2 emacs: precompile trampolines in parallel 2021-02-19 19:35:07 -03:00
Mauricio Collares
2ff98c2f17
emacs: precompile all trampolines 2021-02-19 11:41:29 +01:00
Alyssa Ross
7eaa07dd3f
emacs: add withMotif option
Why not? ;)
2021-02-12 12:59:52 +00:00
Jonathan Ringer
9bb3fccb5b treewide: pkgs.pkgconfig -> pkgs.pkg-config, move pkgconfig to alias.nix
continuation of #109595

pkgconfig was aliased in 2018, however, it remained in
all-packages.nix due to its wide usage. This cleans
up the remaining references to pkgs.pkgsconfig and
moves the entry to aliases.nix.

python3Packages.pkgconfig remained unchanged because
it's the canonical name of the upstream package
on pypi.
2021-01-19 01:16:25 -08:00
adisbladis
6347f78fd9
emacsPackages*: Move to emacs*.pkgs
This makes it much easier to create customisations around emacs via
the a new convenience passthru attr:
- `emacs.pkgs`: What used to be emacsPackages is now `emacs.pkgs`

The previous versioned names `emacs*Packages` have been moved to
aliases.nix and are now considered deprecated in favour of `emacs*.pkgs`.
2021-01-13 17:04:55 +01:00
Profpatsch
4a7f99d55d treewide: with stdenv.lib; in meta -> with lib;
Part of: https://github.com/NixOS/nixpkgs/issues/108938

meta = with stdenv.lib;

is a widely used pattern. We want to slowly remove
the `stdenv.lib` indirection and encourage people
to use `lib` directly. Thus let’s start with the meta
field.

This used a rewriting script to mostly automatically
replace all occurances of this pattern, and add the
`lib` argument to the package header if it doesn’t
exist yet.

The script in its current form is available at
https://cs.tvl.fyi/depot@2f807d7f141068d2d60676a89213eaa5353ca6e0/-/blob/users/Profpatsch/nixpkgs-rewriter/default.nix
2021-01-11 10:38:22 +01:00
Tad Fisher
a7cb8e36ac
emacs: Add comp-eln-load-path infrastructure 2020-12-16 19:45:07 +01:00
Alyssa Ross
755670f5e4
emacs: fix siteVersionDir path
siteVersionDir isn't a full path, it's just the name of the version
directory entry in $out/share/emacs, e.g. "27.1", so since
d1b0eef9b5 ("emacs: Don't use interpolation for version"), we've been
trying to remove a non-existent directory.  This would have been
caught if we hadn't been giving -f to rm unnecessarily, because -f
suppresses errors.  As well as fixing the path, I've removed the -f
from rm.  Doing this to the line above as well revealed that rm-ing
$out/var was no longer necessary, since nothing has been put there
since ac23a7c459 ("emacs: 25.3 → 26.1") -- it would now only be
created if we set the --with-gameuser configure option, which we
don't.
2020-12-10 12:19:14 +00:00
Matt Jones
571b17de5e
emacs: Link native-lisp directory into Mac app (#103933)
Without the symlink, the application can't be launched.

Fixes <https://github.com/nix-community/emacs-overlay/issues/71>

Co-authored-by: Dmitry Kalinkin <dmitry.kalinkin@gmail.com>
2020-12-03 11:41:46 -05:00
Michael Raskin
eee54dba79
Merge pull request #103913 from catern/copysrc
emacs: properly include source code when withCsrc is true
2020-11-22 16:37:40 +00:00
Spencer Baugh
e4fcc9aed1 emacs: properly include source code when withCsrc is true
Previously, we just copied it into a separate directory in the build
directory. That's not useful, and not what was intended.
2020-11-15 10:59:19 -05:00
Mario Rodas
ed047f80bf emacs: make ImageMagick dependency optional in Emacs≥27
Emacs 27 doesn't use ImageMagick by default to display images [1]:

    ** Emacs no longer defaults to using ImageMagick to display images.
    This is due to security and stability concerns with ImageMagick.  To
    override the default, use 'configure --with-imagemagick'.

[1] https://github.com/emacs-mirror/emacs/blob/emacs-27.1/etc/NEWS#L96-L98
2020-10-31 04:20:00 +00:00