summaryrefslogtreecommitdiff
path: root/scripts/build-emacs-from-src.sh
diff options
context:
space:
mode:
authorCraig Jennings <craigmartinjennings@gmail.com>2024-04-11 01:39:11 -0500
committerCraig Jennings <craigmartinjennings@gmail.com>2024-04-11 01:39:11 -0500
commit07fd4f1a6930dc62880b0fd7a0496270f4c2efd6 (patch)
tree31c37427859b391dd8dcad9abc2f4f3515f072b5 /scripts/build-emacs-from-src.sh
parenta55a5248bd2dae5f849476d0f7b5dcd8d91cf929 (diff)
more fit and finish work
User Constants - move all file and directory constants into it's own file - create the directories and files if they don't exist - warn the user when not found/created General - remove duplicate dirvish go menu entry - remove xterm color in test code (it's already in eshell) - fixed org-drill not starting - fixing issue with auto-complete not working in eshell - adding playlists location for dirvish - moved all org-drill config into the use-package declaration - added drill-dir to user-constants - default ledger-file location changed; updated tasks - git ignore the persist folder - added more point values in fontaine menu - fix for gptel early key grab in authinfo.gpg - removed localrepo from reset script - remove magit-forge package - don't wait too long to bury-buffers - add setting native compile warnings to 'silent - fixed sdcv errors when looking up a word normally and in nov
Diffstat (limited to 'scripts/build-emacs-from-src.sh')
-rwxr-xr-xscripts/build-emacs-from-src.sh102
1 files changed, 0 insertions, 102 deletions
diff --git a/scripts/build-emacs-from-src.sh b/scripts/build-emacs-from-src.sh
deleted file mode 100755
index a2272838..00000000
--- a/scripts/build-emacs-from-src.sh
+++ /dev/null
@@ -1,102 +0,0 @@
-#!/usr/bin/env bash
-# Craig Jennings <c@cjennings.net>
-# Builds Emacs from source using the variables below.
-
-# - creates the directory if needed
-# - uninstalls emacs if it exists
-# - pulls latest source from repo below
-# unless "latest" is passed as parameter
-# - checks out the tag below
-# - uses all available processors when compiling
-
-# NOTES:
-# building xwidgets is broken on Linux in 29/30 tags
-# ./configure --with-xwidgets \
-
-# ...and I'm avoiding native compilation at the moment
-#./configure --with-native-compilation \
-
-set -e
-
-# Review These Variables
-
-src_dir="$HOME/code/emacs"
-emacs_repo="https://github.com/mirrors/emacs.git"
-emacs_tag="emacs-29.1"
-logfile="$HOME/emacs_build.log"
-
-# Function to remove + recreate directory, and clone source
-nuke_and_clone () {
- cd "$HOME"
- if [ -d "$src_dir" ]; then
- printf "...removing directory %s\n\n" "$src_dir"
- rm -rf "$src_dir" >> "$logfile" 2>&1
- fi
-
- printf "...creating directory %s\n" "$src_dir"
- mkdir -p "$src_dir" >> "$logfile" 2>&1
- printf "...cloning source files\n"
- git clone "$emacs_repo" "$src_dir" >> "$logfile" 2>&1
-}
-
-# Script Execution Begins Here
-
-printf "\n\n### BUILDING EMACS FROM SOURCE ###\n\n" > "$logfile"
-
-printf "...checking directory: %s\n" "$src_dir" | tee -a "$logfile"
-
-# if the source directory already exists
-if [ -d "$src_dir" ]; then
- cd "$src_dir"
-
- # if emacs was previously built, uninstall it.
- {
- if [ -n "$(which emacs)" ]; then
- printf "...uninstalling previous build\n"
- sudo make uninstall
- fi
- } >> "$logfile" 2>&1
-
- printf "...cleaning repo\n" | tee -a "$logfile"
- make clean >> "$logfile" 2>&1
-
- if [[ -n $(git status --porcelain) ]]; then
- printf "...repository is dirty. recreating.\n" | tee -a "$logfile"
- nuke_and_clone
- else
- printf "...pulling latest source files\n" | tee -a "$logfile"
- git pull >> "$logfile" 2>&1
- fi
-else
- nuke_and_clone
-fi
-
-if [ ! $1 == "latest" ]; then
- printf "...checking out tag: %s\n" "$emacs_tag" | tee -a "$logfile"
- git checkout "$emacs_tag" >> "$logfile" 3>&1
-else
- printf "...keeping source at latest commit\n" | tee -a "$logfile"
-fi
-
-printf "...building config script\n" | tee -a "$logfile"
-./autogen.sh >> "$logfile" 2>&1
-
-printf "...configuring build\n" | tee -a "$logfile"
-./configure --with-json \
- --with-x-toolkit=lucid \
- --with-modules \
- --with-mailutils \
- --with-imagemagick\
- CFLAGS='-O2 -march=native' >> "$logfile" 2>&1
-
-# compile with all available cores
-printf "...compiling Emacs\n" | tee -a "$logfile"
-make -j$(nproc) >> "$logfile" 2>&1
-
-printf "...installing Emacs\n" | tee -a "$logfile"
-sudo make install >> "$logfile" 2>&1
-make clean >> "$logfile" 2>&1
-cd "$HOME"
-
-printf "...done\n" | tee -a "$logfile"
-printf "Please review log at: %s\n" "$logfile"