This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2022-05-05
Channels
- # announcements (8)
- # babashka (6)
- # beginners (55)
- # biff (8)
- # calva (11)
- # cider (4)
- # clj-kondo (6)
- # cljdoc (23)
- # cljs-dev (22)
- # clojure (89)
- # clojure-brasil (3)
- # clojure-europe (47)
- # clojure-indonesia (1)
- # clojure-nl (1)
- # clojure-spec (3)
- # clojure-uk (5)
- # clojurescript (67)
- # community-development (2)
- # conjure (29)
- # cursive (2)
- # datalog (29)
- # datomic (41)
- # defnpodcast (4)
- # emacs (15)
- # google-cloud (5)
- # holy-lambda (6)
- # hyperfiddle (3)
- # introduce-yourself (8)
- # jobs (1)
- # malli (19)
- # meander (41)
- # nrepl (1)
- # off-topic (30)
- # pathom (22)
- # polylith (30)
- # releases (1)
- # remote-jobs (4)
- # sci (4)
- # shadow-cljs (1)
- # spacemacs (7)
- # specter (3)
- # tools-build (16)
- # tools-deps (2)
When building Emacs from source, are there any configuration flags that people recommend:
I've used --with-native-compilation
to make Emacs super fast, but wondering if there are other useful ones, especially for Linux.
I build from source as I didnt find any Ubuntu Linux packages for Emacs 28 (although there are packages for 27.1 and 29.0.50), but https://github.com/practicalli/blog/issues/129 was relatively easy
but I know it was merged, so it depending on your emacs version it will be already available: https://www.reddit.com/r/emacs/comments/rj8k32/the_pgtk_pure_gtk_branch_was_merged/
I've been running Emacs with pgtk and native-comp for a while since I switched to Wayland. This is on Emacs 29 though, not sure if it's available for 28
Here's how I build 29.0.50
(i.e. off master
) - which I do 3-4 times a year without a hitch and have been for a few years now. I intentionally built up the --with
settings from a --without-all
baseline and haven't noticed anything missing or wonky in my builds:
export CC=/usr/bin/gcc-10 CXX=/usr/bin/gcc-10
export CFLAGS="-O3 -mtune=native -march=native -fomit-frame-pointer"
./autogen.sh
./configure --without-all --with-cairo --with-gif --with-jpeg --with-png --with-rsvg --with-xml2 --with-zlib --with-threads --with-json --with-file-notification=inotify --with-gnutls --with-modules --with-xft --with-libotf --with-native-compilation --with-harfbuzz --with-mailutils
make NATIVE_FULL_AOT=1 -j$(nproc)
sudo make install
With these system dependencies:
https://gist.github.com/codeasone/edc7ada6874c60167887f3901432b76a
This is on Mint 20.3
I built up the configure options from a baseline of --without-all
, wanting to be explicit about everything beyond the core. Maybe they're all on by default, I just didn't want any dead weight 😆
build dependencies were generated with sudo apt build-deps emacs
, so that was much easier than before. I am not using Emacs 29 as there is an issue with unicode-fonts not getting cached (pcache issue with Emacs 29), although 28 is very fast too
It seems optional features will be enabled if Emacs configuration finds the relevant library installed on the Operating System.
The --without-all
is very useful for controlling exactly what goes into an Emacs build and helps keep it lean. Thank you.
Getting curious about doom emacs. Can anyone recommend any resources for setting up a clojure environment?
We have #doom-emacs Probably the official getting started is the best documentation: https://github.com/doomemacs/doomemacs/blob/master/docs/getting_started.org
I know @U066U8JQJ is working on a complete guide for Clojure as well
hahah, not a complete guide, just my impressions, but its taking more time than expected to get this one out
Thanks I’ll check that out @UKFSJSM38