diff --git a/scripts/install_emacs_macos.sh b/scripts/install_emacs_macos.sh deleted file mode 100755 index 825b50d..0000000 --- a/scripts/install_emacs_macos.sh +++ /dev/null @@ -1,132 +0,0 @@ -#!/bin/bash -set -euo pipefail - -GREEN='\033[0;32m' -RED='\033[0;31m' -NC='\033[0m' - -ZOOM_PATCH_STATUS="přeskočen" -DOOM_STATUS="neznámý" - -# --- Předběžné kontroly --- -if [[ "$(uname -s)" != "Darwin" ]]; then - echo "Tento skript je pro macOS." && exit 1 -fi - -if ! command -v brew &>/dev/null; then - echo "Homebrew nenalezen. Nainstaluj: https://brew.sh" && exit 1 -fi - -# --- [1/7] Prerekvizity --- -echo -e "${GREEN}[1/7] Prerekvizity...${NC}" -PACKAGES=(autoconf libgmp texinfo pkg-config gnutls libxml2 jansson tree-sitter librsvg imagemagick) -for pkg in "${PACKAGES[@]}"; do - if ! brew list "$pkg" &>/dev/null; then - echo " Instaluji $pkg..." - brew install "$pkg" - else - echo " $pkg již nainstalován" - fi -done -TREE_SITTER_VERSION=$(brew info tree-sitter --json=v2 2>/dev/null | grep -o '"pkg_version":"[^"]*"' | head -1 | cut -d'"' -f4) -echo " tree-sitter verze: $TREE_SITTER_VERSION" - -# --- [2/7] Emacs zdroj --- -echo -e "${GREEN}[2/7] Emacs zdroj...${NC}" -if [[ ! -d ~/src/emacs/.git ]]; then - git clone --depth 50 https://github.com/emacs-mirror/emacs.git ~/src/emacs - cd ~/src/emacs - git checkout emacs-30 -else - cd ~/src/emacs - git fetch origin - git checkout emacs-30 - git pull --rebase origin emacs-30 -fi - -# --- [3/7] Zoom accessibility patch --- -echo -e "${GREEN}[3/7] Zoom accessibility patch...${NC}" -PATCH_FILE=~/.config/doom/patches/0001-ns-implement-AXBoundsForRange-for-macOS-Zoom-cursor-.patch -cd ~/src/emacs -if grep -q UAZoomChangeFocus src/nsterm.m 2>/dev/null; then - echo " Patch already applied, skipping" - ZOOM_PATCH_STATUS="aplikován (již dříve)" -elif [[ ! -f "$PATCH_FILE" ]]; then - echo -e "${RED} Patch soubor neexistuje: $PATCH_FILE${NC}" - ZOOM_PATCH_STATUS="přeskočen (soubor chybí)" -else - if git am --ignore-whitespace "$PATCH_FILE"; then - echo " Patch aplikován" - ZOOM_PATCH_STATUS="aplikován" - else - git am --abort 2>/dev/null || true - echo -e "${RED} WARNING: Patch selhal (conflict). Pokračuji bez patche.${NC}" - ZOOM_PATCH_STATUS="selhal" - fi -fi - -# --- [4/7] Build --- -echo -e "${GREEN}[4/7] Build...${NC}" -cd ~/src/emacs -./autogen.sh -./configure \ - --with-ns \ - --with-tree-sitter \ - --with-gnutls \ - --with-xml2 \ - --with-json \ - --with-imagemagick \ - --with-rsvg \ - --without-x \ - --without-dbus \ - CFLAGS="-O2 -g3" - -set +o pipefail -make -j"$(sysctl -n hw.ncpu)" 2>&1 | tee /tmp/emacs-build.log -MAKE_EXIT=${PIPESTATUS[0]} -set -o pipefail - -if [[ "$MAKE_EXIT" -ne 0 ]]; then - echo -e "${RED}BUILD FAILED, see /tmp/emacs-build.log${NC}" - exit 1 -fi - -# --- [5/7] Install do /Applications --- -echo -e "${GREEN}[5/7] Install do /Applications...${NC}" -sudo rm -rf /Applications/Emacs.app -cp -r nextstep/Emacs.app /Applications/ -codesign --force --deep --sign - /Applications/Emacs.app -echo " Emacs.app nainstalován a podepsán" - -# --- [6/7] Wrapper v /usr/local/bin/emacs --- -echo -e "${GREEN}[6/7] Wrapper v /usr/local/bin/emacs...${NC}" -sudo tee /usr/local/bin/emacs > /dev/null << 'EOF' -#!/bin/bash -exec /Applications/Emacs.app/Contents/MacOS/Emacs "$@" -EOF -sudo chmod +x /usr/local/bin/emacs -echo " Wrapper vytvořen" - -# --- [7/7] Doom Emacs --- -echo -e "${GREEN}[7/7] Doom Emacs...${NC}" -if [[ -d ~/.config/emacs/.git ]]; then - echo " Doom existuje, upgraduji..." - ~/.config/emacs/bin/doom upgrade --force - DOOM_STATUS="upgradován" -else - echo " Doom neexistuje, instaluji..." - git clone --depth 1 https://github.com/doomemacs/doomemacs ~/.config/emacs - ~/.config/emacs/bin/doom install --no-fonts --no-env - DOOM_STATUS="nainstalován" -fi - -# --- Závěrečné info --- -echo "" -echo "=== Emacs install hotov ===" -echo "Verze: $(/usr/local/bin/emacs --version | head -1)" -echo "tree-sitter: $TREE_SITTER_VERSION" -echo "Zoom patch: $ZOOM_PATCH_STATUS" -echo "Doom: $DOOM_STATUS" -echo "" -echo "Spusť: emacs" -echo "Nebo: open /Applications/Emacs.app"