From f62f1aaf99690e55a9beb40ef69c8152276453ac Mon Sep 17 00:00:00 2001 From: Fabian Boehm Date: Fri, 23 Feb 2024 16:36:10 +0100 Subject: [PATCH] Remove remaining mentions of curses --- .builds/alpine.yml | 1 - .builds/freebsd.yml | 2 +- .github/workflows/main.yml | 8 ++++---- .github/workflows/rust_checks.yml | 2 +- CONTRIBUTING.rst | 1 - Dockerfile | 2 +- README.rst | 17 +++++------------ build_tools/iwyu.osx.imp | 1 - build_tools/lsan_suppressions.txt | 4 ---- cmake/Rust.cmake | 2 -- debian/control | 2 +- docker/alpine.Dockerfile | 1 - docker/bionic-tsan-clang.Dockerfile | 1 - docker/bionic-tsan.Dockerfile | 1 - docker/bionic.Dockerfile | 1 - docker/centos7.Dockerfile | 1 - docker/centos8.Dockerfile | 1 - docker/fedora.Dockerfile | 1 - docker/focal-32bit.Dockerfile | 1 - docker/focal-arm64.Dockerfile | 1 - docker/jammy-armv7-32bit.Dockerfile | 1 - docker/jammy-asan-clang.Dockerfile | 1 - docker/opensuse-tumbleweed.docker | 1 - docker/xenial.Dockerfile | 1 - fish.spec.in | 2 +- 25 files changed, 14 insertions(+), 43 deletions(-) diff --git a/.builds/alpine.yml b/.builds/alpine.yml index c09ecad14..96382f1a4 100644 --- a/.builds/alpine.yml +++ b/.builds/alpine.yml @@ -3,7 +3,6 @@ packages: - cargo - clang17-libclang - cmake - - ncurses-dev - ninja - pcre2-dev - py3-pexpect diff --git a/.builds/freebsd.yml b/.builds/freebsd.yml index ee25d6898..f9a76af71 100644 --- a/.builds/freebsd.yml +++ b/.builds/freebsd.yml @@ -5,7 +5,7 @@ packages: - gettext - gmake - llvm - - ncurses + - terminfo-db - ninja - pcre2 - py39-pexpect diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 38a370834..c566ba177 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -19,7 +19,7 @@ jobs: - uses: dtolnay/rust-toolchain@1.67 - name: Install deps run: | - sudo apt install gettext libncurses5-dev libpcre2-dev python3-pip tmux + sudo apt install gettext libpcre2-dev python3-pip tmux sudo pip3 install pexpect # Generate a locale that uses a comma as decimal separator. sudo locale-gen fr_FR.UTF-8 @@ -49,7 +49,7 @@ jobs: - name: Install deps run: | sudo apt update - sudo apt install gettext lib32ncurses5-dev python3-pip g++-multilib tmux + sudo apt install gettext python3-pip g++-multilib tmux sudo pip3 install pexpect - name: cmake env: @@ -87,7 +87,7 @@ jobs: components: rust-src - name: Install deps run: | - sudo apt install gettext libncurses5-dev libpcre2-dev python3-pip tmux + sudo apt install gettext libpcre2-dev python3-pip tmux sudo pip3 install pexpect - name: cmake env: @@ -131,7 +131,7 @@ jobs: # - uses: dtolnay/rust-toolchain@1.67 # - name: Install deps # run: | - # sudo apt install gettext libncurses5-dev libpcre2-dev python3-pip tmux + # sudo apt install gettext libpcre2-dev python3-pip tmux # sudo pip3 install pexpect # - name: cmake # env: diff --git a/.github/workflows/rust_checks.yml b/.github/workflows/rust_checks.yml index a9f75635d..1da324109 100644 --- a/.github/workflows/rust_checks.yml +++ b/.github/workflows/rust_checks.yml @@ -23,7 +23,7 @@ jobs: - uses: dtolnay/rust-toolchain@stable - name: Install deps run: | - sudo apt install gettext libncurses5-dev libpcre2-dev python3-pip tmux + sudo apt install gettext libpcre2-dev python3-pip tmux sudo pip3 install pexpect - name: cmake run: | diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index 780cb7281..c8369187a 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -29,7 +29,6 @@ For that, you'll require: - Rust (version 1.67 or later) - when in doubt, try rustup - a C++11 compiler (g++ 4.8 or later, or clang 3.3 or later) - CMake (version 3.5 or later) -- a curses implementation such as ncurses (headers and libraries) - PCRE2 (headers and libraries) - optional, this will be downloaded if missing - gettext (headers and libraries) - optional, for translation support - Sphinx - optional, to build the documentation diff --git a/Dockerfile b/Dockerfile index 02728cb63..7e4803008 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,7 +3,7 @@ FROM centos:latest # Build dependency RUN yum update -y &&\ yum install -y epel-release &&\ - yum install -y clang cmake3 gcc-c++ make ncurses-devel &&\ + yum install -y clang cmake3 gcc-c++ make &&\ yum clean all # Test dependency diff --git a/README.rst b/README.rst index 9d6b5d1e1..b4bf0bea6 100644 --- a/README.rst +++ b/README.rst @@ -88,7 +88,8 @@ Dependencies Running fish requires: -- curses or ncurses (preinstalled on most \*nix systems) +- A terminfo database, typically from curses or ncurses (preinstalled on most \*nix systems) - this needs to be the directory tree format, not the "hashed" database. + If this is unavailable, fish uses an included xterm-256color definition. - some common \*nix system utilities (currently ``mktemp``), in addition to the basic POSIX utilities (``cat``, ``cut``, ``dirname``, ``file``, ``ls``, ``mkdir``, ``mkfifo``, ``rm``, ``sort``, ``tee``, ``tr``, @@ -124,7 +125,6 @@ Compiling fish from a tarball requires: - a C++11 compiler (g++ 4.8 or later, or clang 3.3 or later) - CMake (version 3.5 or later) -- a curses implementation such as ncurses (headers and libraries) - PCRE2 (headers and libraries) - optional, this will be downloaded if missing - gettext (headers and libraries) - optional, for translation support @@ -179,20 +179,13 @@ Note that fish does *not* support static linking and will attempt to error out i Help, it didn’t build! ~~~~~~~~~~~~~~~~~~~~~~ -If fish reports that it could not find curses, try installing a curses -development package and build again. - -On Debian or Ubuntu you want: +On Debian or Ubuntu you want these packages: :: - sudo apt install build-essential cmake ncurses-dev libncurses5-dev libpcre2-dev gettext + sudo apt install build-essential cmake libpcre2-dev gettext -On RedHat, CentOS, or Amazon EC2: - -:: - - sudo yum install ncurses-devel +On RedHat, CentOS, or Amazon EC2 everything should be preinstalled. Contributing Changes to the Code -------------------------------- diff --git a/build_tools/iwyu.osx.imp b/build_tools/iwyu.osx.imp index b6f4bba7f..a60eebae6 100644 --- a/build_tools/iwyu.osx.imp +++ b/build_tools/iwyu.osx.imp @@ -118,7 +118,6 @@ { symbol: ["__uint32_t", "private", "", "public"] }, { symbol: ["uint32_t", "private", "", "public"] }, { symbol: ["intptr_t", "private", "", "public"] }, - { symbol: ["tparm", "private", "", "public"] }, { symbol: ["select", "private", "", "public"] }, { symbol: ["_LIBCPP_VERSION", "private", "", "public"] }, { symbol: ["_LIBCPP_VERSION", "private", "", "public"] }, diff --git a/build_tools/lsan_suppressions.txt b/build_tools/lsan_suppressions.txt index 0e44fe481..4b1ffd56e 100644 --- a/build_tools/lsan_suppressions.txt +++ b/build_tools/lsan_suppressions.txt @@ -1,7 +1,3 @@ # LSAN can detect leaks tracing back to __asan::AsanThread::ThreadStart (probably caused by our # threads not exiting before their TLS dtors are called). Just ignore it. leak:AsanThread - -# ncurses leaks allocations freely as it assumes it will be running throughout. Ignore these. -leak:tparm -leak:_nc_doalloc diff --git a/cmake/Rust.cmake b/cmake/Rust.cmake index fe97ec68e..bc744e210 100644 --- a/cmake/Rust.cmake +++ b/cmake/Rust.cmake @@ -31,7 +31,6 @@ endif() # CMAKE_BINARY_DIR can include symlinks, since we want to compare this to the dir fish is executed in we need to canonicalize it. file(REAL_PATH "${CMAKE_BINARY_DIR}" fish_binary_dir) -string(JOIN "," CURSES_LIBRARY_LIST ${CURSES_LIBRARY} ${CURSES_EXTRA_LIBRARY}) if(FISH_CRATE_FEATURES) set(FEATURES_ARG ${FISH_CRATE_FEATURES}) @@ -54,7 +53,6 @@ set(VARS_FOR_CARGO "SYSCONFDIR=${CMAKE_INSTALL_FULL_SYSCONFDIR}" "BINDIR=${CMAKE_INSTALL_FULL_BINDIR}" "LOCALEDIR=${CMAKE_INSTALL_FULL_LOCALEDIR}" - "CURSES_LIBRARY_LIST=${CURSES_LIBRARY_LIST}" "CARGO_TARGET_DIR=${FISH_RUST_BUILD_DIR}" "CARGO_BUILD_RUSTC=${RUSTC_EXECUTABLE}" "${FISH_PCRE2_BUILDFLAG}" diff --git a/debian/control b/debian/control index 75714a105..bb486502a 100644 --- a/debian/control +++ b/debian/control @@ -4,7 +4,7 @@ Priority: optional Maintainer: ridiculous_fish Uploaders: David Adam # Debhelper should be bumped to >= 10 once Ubuntu Xenial is no longer supported -Build-Depends: debhelper (>= 9.20160115), libncurses5-dev, cmake (>= 3.5.0), gettext, libpcre2-dev, +Build-Depends: debhelper (>= 9.20160115), cmake (>= 3.5.0), gettext, libpcre2-dev, # Test dependencies locales-all, python3, rustc (>= 1.67) | rustc-mozilla (>= 1.67), cargo Standards-Version: 4.1.5 diff --git a/docker/alpine.Dockerfile b/docker/alpine.Dockerfile index c704d93c0..6c85e2a1a 100644 --- a/docker/alpine.Dockerfile +++ b/docker/alpine.Dockerfile @@ -12,7 +12,6 @@ RUN apk add --no-cache \ git \ libintl \ musl-dev \ - ncurses-dev \ ninja \ pcre2-dev \ python3 \ diff --git a/docker/bionic-tsan-clang.Dockerfile b/docker/bionic-tsan-clang.Dockerfile index a74250d21..66e1c968d 100644 --- a/docker/bionic-tsan-clang.Dockerfile +++ b/docker/bionic-tsan-clang.Dockerfile @@ -11,7 +11,6 @@ RUN apt-get update \ clang-9 \ gettext \ git \ - libncurses5-dev \ libpcre2-dev \ locales \ ninja-build \ diff --git a/docker/bionic-tsan.Dockerfile b/docker/bionic-tsan.Dockerfile index 984fbc3dc..b44d6fda9 100644 --- a/docker/bionic-tsan.Dockerfile +++ b/docker/bionic-tsan.Dockerfile @@ -11,7 +11,6 @@ RUN apt-get update \ clang-9 \ gettext \ git \ - libncurses5-dev \ libpcre2-dev \ locales \ ninja-build \ diff --git a/docker/bionic.Dockerfile b/docker/bionic.Dockerfile index 38bc1ec29..36cfe2f78 100644 --- a/docker/bionic.Dockerfile +++ b/docker/bionic.Dockerfile @@ -11,7 +11,6 @@ RUN apt-get update \ clang-9 \ gettext \ git \ - libncurses5-dev \ libpcre2-dev \ locales \ ninja-build \ diff --git a/docker/centos7.Dockerfile b/docker/centos7.Dockerfile index 16c585740..1487ef6ff 100644 --- a/docker/centos7.Dockerfile +++ b/docker/centos7.Dockerfile @@ -7,7 +7,6 @@ RUN yum install --assumeyes epel-release https://repo.ius.io/ius-release-el7.rpm cmake3 \ gcc-c++ \ git236 \ - ncurses-devel \ ninja-build \ python3 \ openssl \ diff --git a/docker/centos8.Dockerfile b/docker/centos8.Dockerfile index ce68590a9..7fb15c1fa 100644 --- a/docker/centos8.Dockerfile +++ b/docker/centos8.Dockerfile @@ -17,7 +17,6 @@ RUN dnf -y install dnf-plugins-core \ diffutils \ gcc-c++ \ git \ - ncurses-devel \ ninja-build \ python3 \ openssl \ diff --git a/docker/fedora.Dockerfile b/docker/fedora.Dockerfile index 87e1ad86e..b1f5b9911 100644 --- a/docker/fedora.Dockerfile +++ b/docker/fedora.Dockerfile @@ -6,7 +6,6 @@ RUN dnf install --assumeyes \ diffutils \ gcc-c++ \ git-core \ - ncurses-devel \ ninja-build \ pcre2-devel \ python3 \ diff --git a/docker/focal-32bit.Dockerfile b/docker/focal-32bit.Dockerfile index ee6c17bb0..a154ca047 100644 --- a/docker/focal-32bit.Dockerfile +++ b/docker/focal-32bit.Dockerfile @@ -13,7 +13,6 @@ RUN apt-get update \ g++-multilib \ gettext \ git \ - lib32ncurses5-dev \ locales \ ninja-build \ pkg-config \ diff --git a/docker/focal-arm64.Dockerfile b/docker/focal-arm64.Dockerfile index a31a45251..4b55c7647 100644 --- a/docker/focal-arm64.Dockerfile +++ b/docker/focal-arm64.Dockerfile @@ -12,7 +12,6 @@ RUN apt-get update \ clang-9 \ gettext \ git \ - libncurses5-dev \ libpcre2-dev \ locales \ ninja-build \ diff --git a/docker/jammy-armv7-32bit.Dockerfile b/docker/jammy-armv7-32bit.Dockerfile index 6a9c39749..427d048be 100644 --- a/docker/jammy-armv7-32bit.Dockerfile +++ b/docker/jammy-armv7-32bit.Dockerfile @@ -14,7 +14,6 @@ RUN apt-get update \ g++ \ gettext \ git \ - libncurses5-dev \ libpcre2-dev \ locales \ ninja-build \ diff --git a/docker/jammy-asan-clang.Dockerfile b/docker/jammy-asan-clang.Dockerfile index b4b2f273e..178ca8c73 100644 --- a/docker/jammy-asan-clang.Dockerfile +++ b/docker/jammy-asan-clang.Dockerfile @@ -11,7 +11,6 @@ RUN apt-get update \ clang \ gettext \ git \ - libncurses5-dev \ libpcre2-dev \ locales \ ninja-build \ diff --git a/docker/opensuse-tumbleweed.docker b/docker/opensuse-tumbleweed.docker index 05b6b11c3..01a7d6ea9 100644 --- a/docker/opensuse-tumbleweed.docker +++ b/docker/opensuse-tumbleweed.docker @@ -10,7 +10,6 @@ RUN zypper --non-interactive install \ diffutils \ gcc-c++ \ git-core \ - ncurses-devel \ ninja \ pcre2-devel \ python311 \ diff --git a/docker/xenial.Dockerfile b/docker/xenial.Dockerfile index 4813f5dae..41f0fed06 100644 --- a/docker/xenial.Dockerfile +++ b/docker/xenial.Dockerfile @@ -10,7 +10,6 @@ RUN apt-get update \ cmake \ gettext \ git \ - libncurses5-dev \ libpcre2-dev \ locales \ ninja-build \ diff --git a/fish.spec.in b/fish.spec.in index af0f439f7..a28b5bc19 100644 --- a/fish.spec.in +++ b/fish.spec.in @@ -9,7 +9,7 @@ Group: System/Shells URL: https://fishshell.com/ Source0: %{name}_@VERSION@.orig.tar.xz -BuildRequires: cargo ncurses-devel gettext gcc-c++ xz pcre2-devel +BuildRequires: cargo gettext gcc-c++ xz pcre2-devel BuildRequires: rust >= 1.67 %if 0%{?rhel} && 0%{?rhel} < 8