diff --git a/.github/workflows/cygwin.yml b/.github/workflows/cygwin.yml deleted file mode 100644 index 26c193dfb2b..00000000000 --- a/.github/workflows/cygwin.yml +++ /dev/null @@ -1,151 +0,0 @@ -name: Reusable workflow for Cygwin - -on: - workflow_call: - inputs: - targets_pre: - default: build/make/Makefile - type: string - targets: - type: string - targets_optional: - default: build/make/Makefile - type: string - prefix: - required: false - default: /opt/sage - type: string - toxenv: - required: false - default: local-cygwin-choco-standard - type: string - # - # For use in multi-stage CIs - # - stage: - required: false - default: main - type: string - previous_stages: - required: false - type: string - # - # For use in upstream CIs - # - upstream_artifact: - required: false - type: string - sage_repo: - required: false - type: string - sage_trac_git: - required: false - type: string - sage_trac_ticket: - required: false - type: string - sage_ref: - required: false - type: string - -jobs: - stage: - env: - MAKE: make -j8 - SAGE_NUM_THREADS: 3 - CYGWIN: winsymlinks:native - EXTRA_CONFIGURE_ARGS: --enable-fat-binary - SAGE_LOCAL: ${{ inputs.prefix }}-${{ github.sha }} - LOCAL_ARTIFACT_NAME: sage-local-commit-${{ github.sha }}-${{ inputs.toxenv }} - LOGS_ARTIFACT_NAME: logs-commit-${{ github.sha }}-${{ inputs.toxenv }} - - runs-on: windows-latest - - steps: - - run: | - git config --global core.autocrlf false - git config --global core.symlinks true - - - name: install cygwin with choco - shell: bash {0} - run: | - choco --version - choco install git python39 python39-pip --source cygwin - - - name: Check out SageMath - uses: actions/checkout@v4 - with: - repository: ${{ inputs.sage_repo }} - ref: ${{ inputs.sage_ref }} - fetch-depth: 2000 - - - name: Check out git-trac-command - uses: actions/checkout@v4 - with: - repository: sagemath/git-trac-command - path: git-trac-command - if: inputs.sage_trac_git != '' - - name: Check out SageMath from trac.sagemath.org - shell: bash {0} - # Random sleep and retry to limit the load on trac.sagemath.org - run: | - git config --global user.email "ci-sage@example.com" - git config --global user.name "ci-sage workflow" - if [ ! -d .git ]; then git init; fi; git remote add trac ${{ inputs.sage_trac_git }} && x=1 && while [ $x -le 5 ]; do x=$(( $x + 1 )); sleep $(( $RANDOM % 60 + 1 )); if git-trac-command/git-trac fetch ${{ inputs.sage_trac_ticket }}; then git merge FETCH_HEAD || echo "(ignored)"; exit 0; fi; sleep 40; done; exit 1 - if: inputs.sage_trac_git != '' - - - name: Download upstream artifact - uses: actions/download-artifact@v3 - with: - path: upstream - name: ${{ inputs.upstream_artifact }} - if: inputs.upstream_artifact - - name: Update Sage packages from upstream artifact - run: | - C:\\tools\\cygwin\\bin\\bash -l -c 'cd $(cygpath -u "$GITHUB_WORKSPACE") && git config --global --add safe.directory $(pwd) && ls -l upstream/ && export PATH="$(pwd)/build/bin:$PATH:/usr/local/bin:/usr/bin" && (cd upstream && bash -x update-pkgs.sh) && git diff' - if: inputs.upstream_artifact - - - name: Download sage-local artifact - uses: actions/download-artifact@v3 - with: - name: ${{ env.LOCAL_ARTIFACT_NAME }} - path: C:\\tools\\cygwin\\tmp - if: inputs.previous_stages - - name: Extract sage-local artifact - run: | - C:\\tools\\cygwin\\bin\\dash -l -c 'cd $(cygpath -u "$GITHUB_WORKSPACE") && .github/workflows/extract-sage-local.sh /tmp/sage-local-*.tar && tar --create --listed-incremental=/tmp/sage-local.snar --file /dev/null "${{ env.SAGE_LOCAL }}"' - if: inputs.previous_stages - - name: tox - run: | - C:\\tools\\cygwin\\bin\\bash -l -x -c 'cat /proc/cpuinfo' - C:\\tools\\cygwin\\bin\\bash -l -x -c 'python3.9 -m pip install tox' - C:\\tools\\cygwin\\bin\\bash -l -x -c 'cd $(cygpath -u "$GITHUB_WORKSPACE") && PREFIX="${{ env.SAGE_LOCAL }}" TARGETS_PRE="${{ inputs.targets_pre }}" TARGETS_OPTIONAL="${{ inputs.targets_optional }}" tox -e ${{ inputs.toxenv }} -- ${{ inputs.targets }}' - - name: Prepare logs artifact - run: | - C:\\tools\\cygwin\\bin\\bash -l -c 'cd $(cygpath -u "$GITHUB_WORKSPACE") && mkdir -p "artifacts/$LOGS_ARTIFACT_NAME"; for a in "${{ env.SAGE_LOCAL }}"/var/tmp/sage/build/*; do if [ -d "$a" ]; then tar -c --remove-files -f "artifacts/$LOGS_ARTIFACT_NAME/"$(basename "$a")".tar" "$a"; fi; done; cp -r logs/* "artifacts/$LOGS_ARTIFACT_NAME"' - if: always() - - uses: actions/upload-artifact@v3 - with: - path: artifacts - name: ${{ env.LOGS_ARTIFACT_NAME }} - if: always() - - name: Print out logs for immediate inspection - # The markup in the output is a GitHub Actions logging command - # https://help.github.com/en/actions/automating-your-workflow-with-github-actions/development-tools-for-github-actions - shell: bash - run: | - find "artifacts/$LOGS_ARTIFACT_NAME" -type f -name "*.log" -exec sh -c 'if tail -20 "{}" 2>/dev/null | grep "^Error" >/dev/null; then echo :":"error file={}:":" ==== LOG FILE {} CONTAINS AN ERROR ====; cat {} ; fi' \; - if: always() - - name: Prepare sage-local artifact - # We specifically use the cygwin tar so that symlinks are saved/restored correctly on Windows. - # We remove the $SAGE_LOCAL/lib64 link, which will be recreated by the next stage. - run: | - C:\\tools\\cygwin\\bin\\bash -l -c 'cd $(cygpath -u "$GITHUB_WORKSPACE") && rm -f "${{ env.SAGE_LOCAL }}"/lib64; tar -cf /tmp/sage-local-${{ inputs.stage }}.tar --listed-incremental=/tmp/sage-local.snar "${{ env.SAGE_LOCAL }}"' - if: always() - - uses: actions/upload-artifact@v3 - # upload-artifact@v2 does not support whitespace in file names. - # so we tar up the directory ourselves - with: - path: C:\\tools\\cygwin\\tmp\\sage-local-${{ inputs.stage }}.tar - name: ${{ env.LOCAL_ARTIFACT_NAME }} - if: always() diff --git a/.github/workflows/extract-sage-local.sh b/.github/workflows/extract-sage-local.sh index a7ae987a92c..cd689926f9d 100755 --- a/.github/workflows/extract-sage-local.sh +++ b/.github/workflows/extract-sage-local.sh @@ -8,7 +8,6 @@ fi # Show all tar files ls -l $* -# Cygwin note: We specifically use the cygwin tar so that symlinks are saved/restored correctly on Windows. for a in $*; do echo Extracting $a (cd / && tar xf -) < $a @@ -33,10 +32,3 @@ fi # Show how we are doing on free space. df -h - -# Rebase! -case "$(uname)" in - CYGWIN*) - exec src/bin/sage-rebase.sh --all "$SAGE_LOCAL" - ;; -esac diff --git a/build/bin/sage-apply-patches b/build/bin/sage-apply-patches index 522116e4196..a7352a78de4 100755 --- a/build/bin/sage-apply-patches +++ b/build/bin/sage-apply-patches @@ -10,8 +10,8 @@ # the root of the package source. # # An optional patch subdirectory may be specified with the -d flag. -# For example `sage-apply-patches -d cygwin` applies only those -# patches under /cygwin. +# For example `sage-apply-patches -d macos` applies only those +# patches under /macos. # # The -p arg is the argument accepted by the `patch` command, # and overrides the default -p1 diff --git a/build/bin/sage-bootstrap-python b/build/bin/sage-bootstrap-python index 1fa3ea565b1..2b185a8f43d 100755 --- a/build/bin/sage-bootstrap-python +++ b/build/bin/sage-bootstrap-python @@ -37,7 +37,7 @@ SAGE_ORIG_PATH=${NEW_PATH%%':'} # Trac #30177: Also check for hashlib.sha1 to guard against broken python2 # from old homebrew installations. Also check whether the current directory -# is accessible by this python; this is to guard on Cygwin against Pythons +# is accessible by this python; this is to guard on WSL against Pythons # installed somewhere else in Windows. # Trac #29285: Do not accept pythons that manipulate PATH, such as diff --git a/build/bin/sage-dist-helpers b/build/bin/sage-dist-helpers index b159d696745..2dc56b62466 100644 --- a/build/bin/sage-dist-helpers +++ b/build/bin/sage-dist-helpers @@ -170,16 +170,9 @@ sdh_configure() { if [ -z "$CONFIG_SHELL" ]; then export CONFIG_SHELL=`command -v bash` fi - if [ "$UNAME" = "CYGWIN" ]; then - # TODO: To use --disable-static for all packages on Cygwin, need - # #30814: Cygwin: Fix remaining packages to build shared libraries, using AM_LDFLAGS=-no-undefined - DISABLE_STATIC= - else - DISABLE_STATIC=--disable-static - fi - ./configure --prefix="$SAGE_INST_LOCAL" --libdir="$SAGE_INST_LOCAL/lib" $DISABLE_STATIC --disable-maintainer-mode --disable-dependency-tracking "$@" + ./configure --prefix="$SAGE_INST_LOCAL" --libdir="$SAGE_INST_LOCAL/lib" --disable-static --disable-maintainer-mode --disable-dependency-tracking "$@" if [ $? -ne 0 ]; then # perhaps it is a non-autoconf'd project - ./configure --prefix="$SAGE_INST_LOCAL" --libdir="$SAGE_INST_LOCAL/lib" $DISABLE_STATIC "$@" + ./configure --prefix="$SAGE_INST_LOCAL" --libdir="$SAGE_INST_LOCAL/lib" --disable-static "$@" if [ $? -ne 0 ]; then if [ -f "$(pwd)/config.log" ]; then sdh_die <<_EOF_ diff --git a/build/bin/sage-spkg b/build/bin/sage-spkg index 383a98ffbbc..733a7b51890 100755 --- a/build/bin/sage-spkg +++ b/build/bin/sage-spkg @@ -624,23 +624,6 @@ export https_proxy=$http_proxy export ftp_proxy=$http_proxy export rsync_proxy=$http_proxy -# We need to run sage-rebase.sh for each package installed, but it -# can be dangerous to do this while other packages are installing -# so we need to use a lock to manage when rebase is allowed to -# run. Because of this, if multiple sage-spkg runs are waiting on -# the rebase lock, we can end up with multiple consecutive rebase -# calls that are redundant, but I don't see an obvious way around -# that. This also unfortunately slows down parallel builds since -# all packages will eventually need to wait for this lock, but -# again there's no simple way around that. -if [ "$UNAME" = "CYGWIN" ]; then - # This is a global lock - so we use SAGE_LOCAL, not SAGE_INST_LOCAL. - if [ ! -d "$SAGE_LOCAL/var/lock" ]; then - mkdir -p "$SAGE_LOCAL/var/lock" - fi - exec 200>"$SAGE_LOCAL/var/lock/rebase.lock" - sage-flock -s $lock_type 200 -fi # First uninstall the previous version of this package, if any if [ "$KEEP_EXISTING" != "yes" ]; then @@ -776,19 +759,6 @@ if [ -f spkg-postinst ]; then exit 1 fi fi - -if [ "$UNAME" = "CYGWIN" ]; then - # Drop our sage-spkg's shared lock, and try to call sage-rebase.sh - # under an exclusive lock - sage-flock -u 200 - - # Rebase after installing each package--in case any packages load this - # package at build time we need to ensure during the build that no binaries - # have conflicting address spaces - echo "Waiting for rebase lock" - sage-flock -x "$SAGE_LOCAL/var/lock/rebase.lock" \ - sage-rebase.sh "$SAGE_LOCAL" 2>/dev/null -fi } ################################################### post_install run_test_suite() { ############################################### diff --git a/build/bin/sage-venv b/build/bin/sage-venv index c2728ba1143..8621433f70b 100755 --- a/build/bin/sage-venv +++ b/build/bin/sage-venv @@ -37,19 +37,13 @@ options = parser.parse_args() if options.upgrade and options.clear: raise ValueError('you cannot supply --upgrade and --clear together.') -if sys.platform == 'cygwin': - # default for Cygwin; see https://github.com/sagemath/sage/issues/30149 - use_symlinks = False -else: - # default for posix - # On macOS, definitely need symlinks=True (which matches what we test in build/pkgs/spkg-configure.m4) - # or it may fail with 'dyld: Library not loaded: @executable_path/../Python3' on macOS. - use_symlinks = True - + +# On macOS, definitely need symlinks=True (which matches what we test in build/pkgs/spkg-configure.m4) +# or it may fail with 'dyld: Library not loaded: @executable_path/../Python3' on macOS. b = venv.EnvBuilder(system_site_packages=options.system_site, clear=options.clear, upgrade=options.upgrade, - symlinks=use_symlinks) + symlinks=True) c = b.ensure_directories(options.env_dir) b.setup_python(c) b.create_configuration(c) diff --git a/build/pkgs/boost_cropped/spkg-legacy-uninstall b/build/pkgs/boost_cropped/spkg-legacy-uninstall deleted file mode 100755 index ef170323b6a..00000000000 --- a/build/pkgs/boost_cropped/spkg-legacy-uninstall +++ /dev/null @@ -1,2 +0,0 @@ -#! /usr/bin/env bash -rm -rf "${SAGE_LOCAL}"/include/boost diff --git a/build/pkgs/brial/spkg-legacy-uninstall b/build/pkgs/brial/spkg-legacy-uninstall deleted file mode 100755 index 59e01958685..00000000000 --- a/build/pkgs/brial/spkg-legacy-uninstall +++ /dev/null @@ -1,5 +0,0 @@ -#! /usr/bin/env bash -echo "Cleaning out old PolyBoRi and BRiAl installations" -rm -f "$SAGE_LOCAL"/lib/lib{polybori,brial}* -rm -rf "$SAGE_LOCAL"/include/polybori* -rm -rf "$SAGE_LOCAL"/share/polybori diff --git a/build/pkgs/cvxopt/spkg-install.in b/build/pkgs/cvxopt/spkg-install.in index 0081c40f819..8179125fc9a 100644 --- a/build/pkgs/cvxopt/spkg-install.in +++ b/build/pkgs/cvxopt/spkg-install.in @@ -82,10 +82,6 @@ sdh_pip_install . if [ "x$SAGE_SPKG_INSTALL_DOCS" = xyes ] ; then cd doc - # checking to see if there is previously installed documentation. - if [ -d $SAGE_LOCAL/share/doc/cvxopt/html ] ; then - rm -rf $SAGE_LOCAL/share/doc/cvxopt/html - fi mkdir -p "${SAGE_DESTDIR}${SAGE_LOCAL}/share/doc/cvxopt/html" cp -r html/* "${SAGE_DESTDIR}${SAGE_LOCAL}/share/doc/cvxopt/html/" fi diff --git a/build/pkgs/ecl/spkg-install.in b/build/pkgs/ecl/spkg-install.in index 72083337942..1eb218a2f28 100644 --- a/build/pkgs/ecl/spkg-install.in +++ b/build/pkgs/ecl/spkg-install.in @@ -1,12 +1,5 @@ cd src -if [ "$UNAME" = "CYGWIN" ]; then - # Some of ECL's sources rely on GNU-isms that are allowed by default on - # most glibcs, but not in newlib; https://github.com/sagemath/sage/issues/25057 - CFLAGS="$CFLAGS -D_GNU_SOURCE" - CXXFLAGS="$CXXFLAGS -D_GNU_SOURCE" -fi - export CFLAGS export CXXFLAGS export LDFLAGS diff --git a/build/pkgs/ecl/spkg-legacy-uninstall b/build/pkgs/ecl/spkg-legacy-uninstall deleted file mode 100755 index 375d99ebcf1..00000000000 --- a/build/pkgs/ecl/spkg-legacy-uninstall +++ /dev/null @@ -1,6 +0,0 @@ -#! /usr/bin/env bash -rm -f "$SAGE_LOCAL"/bin/ecl -rm -rf "$SAGE_LOCAL"/include/ecl -rm -rf "$SAGE_LOCAL"/lib/ecl -rm -rf "$SAGE_LOCAL"/lib/ecl-* -rm -rf "$SAGE_LOCAL"/lib/libecl.* diff --git a/build/pkgs/eclib/spkg-install.in b/build/pkgs/eclib/spkg-install.in index 1611cfdd27d..4998cff1676 100644 --- a/build/pkgs/eclib/spkg-install.in +++ b/build/pkgs/eclib/spkg-install.in @@ -3,20 +3,6 @@ CXXFLAGS="$CXXFLAGS_O3_NON_NATIVE" export CFLAGS CXXFLAGS - -echo "Deleting old versions of eclib libraries, which" -echo "would interfere with new builds..." -# Delete any pre-autotools libraries: -rm -f "$SAGE_LOCAL"/lib/lib{curvesntl,g0nntl,jcntl,rankntl,mwrank}.* -# Delete autotools libraries: -rm -f "$SAGE_LOCAL"/lib/lib{e,j}c.* -if [ "$UNAME" = "CYGWIN" ]; then - rm -f "$SAGE_LOCAL"/lib/cyg{e,j}c-*.dll -fi -echo "Deleting old include directory..." -rm -rf "$SAGE_LOCAL"/include/eclib/ - - cd src/ ############################################################# diff --git a/build/pkgs/ecm/spkg-install.in b/build/pkgs/ecm/spkg-install.in index ce58949c8ee..03c6c109d7d 100644 --- a/build/pkgs/ecm/spkg-install.in +++ b/build/pkgs/ecm/spkg-install.in @@ -73,12 +73,6 @@ else echo "to, or '--with-pic' was given in ECM_CONFIGURE." fi -if [ "$UNAME" == "CYGWIN" ]; then - # Force shared library build only on Cygwin; it will not build otherwise - ECM_CONFIGURE="$ECM_CONFIGURE --enable-shared --disable-static" -fi - - if [ "$SAGE_DEBUG" = yes ]; then # Add debug symbols and disable optimization: echo >&2 "Warning: Setting SAGE_DEBUG=yes completely disables optimization." @@ -238,17 +232,6 @@ sdh_configure $SAGE_CONFIGURE_GMP $ECM_CONFIGURE sdh_make -############################################################################### -# Remove old executable/header/libraries/manpage: -############################################################################### - -echo -echo "Build succeeded. Now removing old binary, header file, manual page and libraries..." -rm -f "$SAGE_LOCAL"/bin/ecm -rm -f "$SAGE_LOCAL"/lib/libecm.* -rm -f "$SAGE_LOCAL"/include/ecm.h -rm -f "$SAGE_LOCAL"/share/man/man1/ecm.1 - ############################################################################### # Now install ECM: ############################################################################### diff --git a/build/pkgs/fplll/spkg-check.in b/build/pkgs/fplll/spkg-check.in index 4ebb7d714c1..27cd9419538 100644 --- a/build/pkgs/fplll/spkg-check.in +++ b/build/pkgs/fplll/spkg-check.in @@ -1,8 +1,2 @@ cd src - -if [ "$UNAME" = "CYGWIN" ]; then - echo "Disable parallel testing on Cygwin" - MAKE="$MAKE -j1" -fi - $MAKE check diff --git a/build/pkgs/fplll/spkg-install.in b/build/pkgs/fplll/spkg-install.in index dda663d433c..d898db82687 100644 --- a/build/pkgs/fplll/spkg-install.in +++ b/build/pkgs/fplll/spkg-install.in @@ -2,20 +2,10 @@ cd src || exit INCLUDES="-I$SAGE_LOCAL/include/" -if [ "$UNAME" = "CYGWIN" ]; then - CXXFLAGS="$CXXFLAGS -std=gnu++11" -fi CXXFLAGS="$CXXFLAGS -fPIC $INCLUDES -L$SAGE_LOCAL/lib" CPPFLAGS="$INCLUDES" CONFIGUREFLAGS="--prefix=$SAGE_LOCAL --libdir=$SAGE_LOCAL/lib" -if [ "$UNAME" = "CYGWIN" ]; then - echo "Disable parallel building on Cygwin" - MAKE="$MAKE -j1" - export MAKE - CONFIGUREFLAGS="$CONFIGUREFLAGS --disable-recursive-enum" -fi - if [ "x$SAGE_DEBUG" = "xyes" ]; then CONFIGUREFLAGS="$CONFIGUREFLAGS --enable-debug" fi @@ -32,7 +22,3 @@ export CXX="$CXX" sdh_configure $CONFIGUREFLAGS sdh_make sdh_make_install - -# Pretend that the "libfplll" package is not installed. This is needed to -# support renaming libfplll -> fplll done on Trac #24042 -rm -f "$SAGE_SPKG_INST/"libfplll-* diff --git a/build/pkgs/freetype/spkg-install.in b/build/pkgs/freetype/spkg-install.in index c1615626e72..9d8c0075ec0 100644 --- a/build/pkgs/freetype/spkg-install.in +++ b/build/pkgs/freetype/spkg-install.in @@ -4,9 +4,3 @@ cd src GNUMAKE=${MAKE} sdh_configure --enable-freetype-config $FREETYPE_CONFIGURE sdh_make sdh_make_install - -# The following file may be present from old builds of freetype, and -# its presence can break the matplotlib build. So remove it. (The -# current version is $SAGE_LOCAL/include/freetype2/ftbuild.h.) - -rm -f "$SAGE_LOCAL/include/ft2build.h" diff --git a/build/pkgs/frobby/spkg-install.in b/build/pkgs/frobby/spkg-install.in index 1a97cc6b682..60ed2c67207 100644 --- a/build/pkgs/frobby/spkg-install.in +++ b/build/pkgs/frobby/spkg-install.in @@ -1,4 +1,3 @@ -rm -rf "$SAGE_LOCAL/bin/frobby" GMP_INC_DIR="$SAGE_LOCAL/include"; export GMP_INC_DIR ldflags="-Wl,-rpath,$SAGE_LOCAL/lib -L$SAGE_LOCAL/lib/ -lgmpxx -lgmp"; export ldflags @@ -12,14 +11,4 @@ if [ $? -ne 0 ]; then exit 1 fi -if [ ! -f bin/release/frobby ]; then - echo "Frobby executable not found." - exit 1 -fi - -$CP bin/release/frobby "$SAGE_LOCAL/bin/" - -if [ ! -f "$SAGE_LOCAL/bin/frobby" ]; then - echo "Frobby executable not copied." - exit 1 -fi +sdh_install bin/release/frobby "$SAGE_LOCAL/bin" diff --git a/build/pkgs/frobby/spkg-legacy-uninstall b/build/pkgs/frobby/spkg-legacy-uninstall new file mode 100755 index 00000000000..a262741b2a9 --- /dev/null +++ b/build/pkgs/frobby/spkg-legacy-uninstall @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +rm -f "$SAGE_LOCAL/bin/frobby" diff --git a/build/pkgs/gap/spkg-legacy-uninstall b/build/pkgs/gap/spkg-legacy-uninstall deleted file mode 100755 index a8e5c59e1fb..00000000000 --- a/build/pkgs/gap/spkg-legacy-uninstall +++ /dev/null @@ -1,11 +0,0 @@ -#! /usr/bin/env bash -# Remove existing GAP 4.x install(s) -rm -rf "$SAGE_LOCAL/gap/gap-4."* -rm -rf "$SAGE_SHARE/gap" -rm -f "$SAGE_LOCAL/gap/latest" -rm -f "$SAGE_LOCAL/bin/gap" -rm -f "$SAGE_LOCAL/bin/gac" - -# Remove old libgap headers and library -rm -rf "$SAGE_LOCAL/include/gap" -rm -rf "$SAGE_LOCAL/lib/gap" diff --git a/build/pkgs/gc/spkg-install.in b/build/pkgs/gc/spkg-install.in index f42295bb279..414513794b0 100644 --- a/build/pkgs/gc/spkg-install.in +++ b/build/pkgs/gc/spkg-install.in @@ -2,11 +2,6 @@ cd src GC_CONFIGURE="--enable-large-config" -if [ "$UNAME" = "CYGWIN" ]; then - # See https://github.com/sagemath/sage/issues/22694 - GC_CONFIGURE="$GC_CONFIGURE --enable-threads=posix --enable-handle-fork" -fi - sdh_configure $GC_CONFIGURE sdh_make sdh_make_install diff --git a/build/pkgs/gf2x/SPKG.rst b/build/pkgs/gf2x/SPKG.rst index d8b4694eb45..0dc6335894b 100644 --- a/build/pkgs/gf2x/SPKG.rst +++ b/build/pkgs/gf2x/SPKG.rst @@ -23,34 +23,3 @@ Upstream Contact - Pierrick Gaudry - Emmanuel Thomé - Paul Zimmermann - -Special Update/Build Instructions ---------------------------------- - -- As some patches touch config/acinclude.m4, we have to touch - aclocal.m4, - configure, Makefile.in and gf2x/gf2x-config.h.in to prevent autotools - to try to regenerate these files. - -Patches -~~~~~~~ - -- 0001-Trac-15014-Let-gf2x-build-a-shared-library-on-Cygwin.patch: pass - -no-undefined flag to libtool. -- 0002-tr-portability.patch: backport upstream fix for non-portable tr - use -- 0003-Improve-detection-of-sse2-support.patch: backport upstream - improved check for sse2 - -- 0004-Add-disable-hardware-specific-code.patch: add option - -disable-hardware-specific-code to build system. This is partly - backported from upstream. - -- 0005-Update-autotooled-files.patch: the above patches make changes to - code used by autotools for generation of the build system. This - patches - those files, so that autotools need not be installed. - -- 0006-Fix_make_check_not_failing_on_errors.patch: (upstream patch) - Fix bug in shell script such that 'make check' always fails upon - errors. diff --git a/build/pkgs/gf2x/spkg-install.in b/build/pkgs/gf2x/spkg-install.in index 057be0a5953..c8e4c83e6d2 100644 --- a/build/pkgs/gf2x/spkg-install.in +++ b/build/pkgs/gf2x/spkg-install.in @@ -1,7 +1,3 @@ -echo "Deleting old gf2x files." -rm -f "$SAGE_LOCAL"/lib/libgf2x* -rm -rf "$SAGE_LOCAL"/include/gf2x* - cd src # Use newer version of config.guess and config.sub (see Trac #19727) diff --git a/build/pkgs/gfan/spkg-legacy-uninstall b/build/pkgs/gfan/spkg-legacy-uninstall deleted file mode 100755 index 74552b0b71c..00000000000 --- a/build/pkgs/gfan/spkg-legacy-uninstall +++ /dev/null @@ -1,3 +0,0 @@ -#! /usr/bin/env bash -echo "Removing old version of gfan (if any)..." -rm -f "$SAGE_LOCAL"/bin/gfan* diff --git a/build/pkgs/giac/patches/cygwin-icas.patch b/build/pkgs/giac/patches/cygwin-icas.patch deleted file mode 100644 index 56321e78b26..00000000000 --- a/build/pkgs/giac/patches/cygwin-icas.patch +++ /dev/null @@ -1,23 +0,0 @@ -Disable threaded eval function on Cygwin since it's currently -buggy, and not strictly needed in the first place since we don't -build giac with FLTK support; see https://github.com/sagemath/sage/issues/27385 ---- a/src/icas.cc 2018-12-22 17:08:24.000000000 +0100 -+++ b/src/icas.cc 2019-03-06 14:38:19.814030200 +0100 -@@ -160,7 +160,7 @@ - using namespace giac; - #define STDIN_FILENO 0 - namespace xcas { -- /* -+#ifdef __CYGWIN__ - void icas_eval(giac::gen & g,giac::gen & gg,int & reading_file,std::string &filename,giac::context * contextptr){ - gg=protecteval(g,10,contextptr); - } -@@ -168,7 +168,7 @@ - bool fltk_view(const giac::gen & g,giac::gen & ge,const std::string & filename,std::string & figure_filename,int file_type,const giac::context *contextptr){ - return false; - } -- */ -+#endif - } - - #else diff --git a/build/pkgs/giac/spkg-install.in b/build/pkgs/giac/spkg-install.in index c20671a7b88..ceed3899be6 100644 --- a/build/pkgs/giac/spkg-install.in +++ b/build/pkgs/giac/spkg-install.in @@ -51,10 +51,6 @@ if [ "$UNAME" = "Darwin" ]; then echo "OS X Building without Native Language Support" DISABLENLS="--disable-nls" fi -if [ "$UNAME" = "CYGWIN" ]; then - export ac_cv_lib_nauty_main=no - export ac_cv_header_nauty_naututil_h=no -fi sdh_configure --disable-gui --disable-ao "$DISABLENLS" --enable-png=no --disable-samplerate --disable-static --disable-micropy --disable-quickjs @@ -64,24 +60,6 @@ sdh_configure --disable-gui --disable-ao "$DISABLENLS" --enable-png=no --disable sdh_make -############################################################# -# Clean old install -############################################################# -echo "Cleaning giac..." -rm -f ${SAGE_LOCAL}/lib/libgiac* -rm -f ${SAGE_LOCAL}/bin/icas -rm -f ${SAGE_LOCAL}/bin/xcas -rm -f ${SAGE_LOCAL}/bin/cas_help -rm -f ${SAGE_LOCAL}/bin/pgiac -rm -f ${SAGE_LOCAL}/bin/en_cas_help -rm -f ${SAGE_LOCAL}/bin/es_cas_help -rm -f ${SAGE_LOCAL}/bin/fr_cas_help -rm -f ${SAGE_LOCAL}/bin/giac -rm -f ${SAGE_LOCAL}/bin/xcasnew -rm -rf ${SAGE_LOCAL}/share/giac -rm -rf ${SAGE_LOCAL}/share/doc/giac -rm -rf ${SAGE_LOCAL}/include/giac - ############################################################# # Install ############################################################# diff --git a/build/pkgs/glpk/SPKG.rst b/build/pkgs/glpk/SPKG.rst index 4cabfae0ba1..dde5e8ce8fc 100644 --- a/build/pkgs/glpk/SPKG.rst +++ b/build/pkgs/glpk/SPKG.rst @@ -57,9 +57,6 @@ Patches - All patches below are currently used by spkg-src - src/01-zlib.patch: don't build the included zlib library. -- src/02-cygwin_sharedlib.patch: Let a shared library be built on - Cygwin by - passing the -no-undefined flag to libtool. The numbering reflect the order in which they have been created from glpk pristine's sources diff --git a/build/pkgs/glpk/patches/src/02-cygwin_sharedlib.patch b/build/pkgs/glpk/patches/src/02-cygwin_sharedlib.patch deleted file mode 100644 index c554216ab56..00000000000 --- a/build/pkgs/glpk/patches/src/02-cygwin_sharedlib.patch +++ /dev/null @@ -1,56 +0,0 @@ -diff --git a/configure.ac b/configure.ac -index a65361a..2e86030 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -54,7 +54,7 @@ define([AC_LIBTOOL_LANG_GCJ_CONFIG], [:]) - dnl Check for programs - AC_PROG_CC - AC_PROG_INSTALL --AC_PROG_LIBTOOL -+LT_INIT([win32-dll]) - - dnl Check for math library - AC_CHECK_LIB([m], [exp]) -@@ -101,6 +101,42 @@ else - AC_MSG_RESULT([no]) - fi - -+dnl Configs for Windows DLLs. -+dnl libtool requires "-no-undefined" for win32 dll -+case $host_os in -+ cygwin* | mingw*) -+ if test "$enable_shared" = yes; then -+ NOUNDEFINED=" -no-undefined" -+ if test "$with_gmp" = yes; then -+ AC_MSG_CHECKING(for DLL/static GMP) -+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -+#include "gmp.h" -+#if !__GMP_LIBGMP_DLL -+# error "Dead man" -+error -+#endif -+ ]], [[]])],[AC_MSG_RESULT(DLL)],[ -+ AC_MSG_RESULT(static) -+ AC_MSG_ERROR([gmp.h isn't a DLL: use --enable-static --disable-shared]) ]) -+ fi -+ fi -+ if test "$enable_static" = yes; then -+ if test "$with_gmp" = yes; then -+ AC_MSG_CHECKING(for DLL/static GMP) -+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -+#include "gmp.h" -+#if __GMP_LIBGMP_DLL -+# error "Dead man" -+error -+#endif -+ ]], [[]])],[AC_MSG_RESULT(static)],[ -+ AC_MSG_RESULT(DLL) -+ AC_MSG_ERROR([gmp.h is a DLL: use --disable-static --enable-shared]) ]) -+ fi -+ fi -+ ;; -+esac -+ - case $host_os in - darwin* | macosx*) - LIBIODBC="libiodbc.dylib" diff --git a/build/pkgs/glpk/spkg-install.in b/build/pkgs/glpk/spkg-install.in index a911c46f024..f592a562148 100644 --- a/build/pkgs/glpk/spkg-install.in +++ b/build/pkgs/glpk/spkg-install.in @@ -25,8 +25,4 @@ export CFLAGS LDFLAGS CPPFLAGS sdh_configure --with-gmp --disable-static sdh_make -# Remove old libraries to make sure we can downgrade it if needed. -# See https://github.com/sagemath/sage/issues/23596#comment:4 and later. -rm -f "$SAGE_LOCAL"/lib/libglpk.* - sdh_make_install diff --git a/build/pkgs/gmp/spkg-install.in b/build/pkgs/gmp/spkg-install.in index fa53576f8c6..27ebbd88c6b 100644 --- a/build/pkgs/gmp/spkg-install.in +++ b/build/pkgs/gmp/spkg-install.in @@ -122,15 +122,8 @@ export ABI CFLAGS CXXFLAGS LDFLAGS # Partially redundant, but safe(r). GMP_CONFIGURE="--enable-shared $GMP_CONFIGURE" # Also build the static library to be used by e.g. ECM -# unless we are on Cygwin where we can only build a shared -# or a static library but not both: -if [ "$UNAME" = "CYGWIN" ]; then - echo "Building GMP with the C++ interface and (only) shared libraries." - GMP_CONFIGURE="--enable-cxx $GMP_CONFIGURE --disable-static" -else - echo "Building GMP with the C++ interface and (also) static libraries." - GMP_CONFIGURE="--enable-cxx --enable-static $GMP_CONFIGURE" -fi +echo "Building GMP with the C++ interface and (also) static libraries." +GMP_CONFIGURE="--enable-cxx --enable-static $GMP_CONFIGURE" # If SAGE_FAT_BINARY is enabled, then add --enable-fat to configure # options on Linux x86 systems. On other systems, fat binaries are not diff --git a/build/pkgs/gsl/spkg-legacy-uninstall b/build/pkgs/gsl/spkg-legacy-uninstall deleted file mode 100755 index 6c42f90b665..00000000000 --- a/build/pkgs/gsl/spkg-legacy-uninstall +++ /dev/null @@ -1,3 +0,0 @@ -#! /usr/bin/env bash -rm -rf "$SAGE_LOCAL"/include/gsl -rm -rf "$SAGE_LOCAL"/lib/libgsl* diff --git a/build/pkgs/iconv/SPKG.rst b/build/pkgs/iconv/SPKG.rst index 48e0ffe761f..cd51fd5f0a2 100644 --- a/build/pkgs/iconv/SPKG.rst +++ b/build/pkgs/iconv/SPKG.rst @@ -18,10 +18,3 @@ Upstream Contact - http://www.gnu.org/software/libiconv/ - Bug reports to bug-gnu-libiconv@gnu.org - -Special Update/Build Instructions ---------------------------------- - -- None, other than anyone updating this package should be familiar with - how - to write shell scripts. diff --git a/build/pkgs/iconv/checksums.ini b/build/pkgs/iconv/checksums.ini deleted file mode 100644 index d45d8b0fb87..00000000000 --- a/build/pkgs/iconv/checksums.ini +++ /dev/null @@ -1,4 +0,0 @@ -tarball=libiconv-VERSION.tar.gz -sha1=7af3149fa7c4bd1d3a36a30f02e95a0ebfd6b18f -md5=ace8b5f2db42f7b3b3057585e80d9808 -cksum=538361871 diff --git a/build/pkgs/iconv/dependencies b/build/pkgs/iconv/dependencies deleted file mode 100644 index 4f00de20375..00000000000 --- a/build/pkgs/iconv/dependencies +++ /dev/null @@ -1,4 +0,0 @@ -# no dependencies - ----------- -All lines of this file are ignored except the first. diff --git a/build/pkgs/iconv/package-version.txt b/build/pkgs/iconv/package-version.txt deleted file mode 100644 index d40acaaea09..00000000000 --- a/build/pkgs/iconv/package-version.txt +++ /dev/null @@ -1 +0,0 @@ -1.15 diff --git a/build/pkgs/iconv/spkg-check.in b/build/pkgs/iconv/spkg-check.in deleted file mode 100644 index c0e91eff164..00000000000 --- a/build/pkgs/iconv/spkg-check.in +++ /dev/null @@ -1,37 +0,0 @@ -# Only test iconv on Solaris, HP-UX and Cygwin, as those are the only -# platforms on which the iconv shipped with Sage will be installed. On -# other platforms Sage uses the system's iconv. - -case "$UNAME" in -SunOS) - # We must test iconv, but on Solaris some tests will always fail. - echo "If you see 3 core dumps, don't be too alarmed." - echo "This is a known Solaris bug and can safely be ignored. See" - echo " https://github.com/sagemath/sage/issues/8270" - echo "It will probably be fixed in later releases of Solaris 10," - echo "and was fixed in build 66 of OpenSolaris:" - echo " http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6550204" -esac -case "$UNAME" in -CYGWIN|HP-UX|SunOS) - - cd src - - $MAKE check - - if [ $? -ne 0 ]; then - echo "Error encountered while running the iconv test suite ... exiting" - exit 1 - fi - echo "All the tests for iconv passed." - exit 0 - ;; -*) # Not CYGWIN, HP-UX or SunOS (Solaris) - echo "iconv was not to be tested, since Sage will use the system's iconv" - echo "and not the one shipped with Sage." - echo "The iconv supplied by Sage is only used on Cygwin, HP-UX and Solaris." - exit 0 -esac - -# NOT REACHED - diff --git a/build/pkgs/iconv/spkg-install.in b/build/pkgs/iconv/spkg-install.in deleted file mode 100644 index 89b401c70e9..00000000000 --- a/build/pkgs/iconv/spkg-install.in +++ /dev/null @@ -1,37 +0,0 @@ -# Only build iconv on Solaris, HP-UX and Cygwin. See -# https://github.com/sagemath/sage/issues/8567 and -# https://github.com/sagemath/sage/issues/9603 -# for details. - -case "$UNAME" in -CYGWIN|HP-UX|SunOS) - echo "iconv will be installed as the operating system is Cygwin, HP-UX or Solaris." - echo "These systems either lack iconv, or do not have a sufficiently capable" - echo "version of iconv. See:" - echo " https://github.com/sagemath/sage/issues/8567" - echo " https://github.com/sagemath/sage/issues/9603" - - # Disable NLS on Cygwin to be able to build libiconv without the Cygwin - # libiconv package. - if [ "$UNAME" = "CYGWIN" ]; then - ICONV_CONFIGURE="--disable-nls $ICONV_CONFIGURE" - fi - - cd src - - sdh_configure $ICONV_CONFIGURE - sdh_make - sdh_make_install - exit 0 - ;; -*) # Not CYGWIN, HP-UX or SunOS (Solaris) - echo "iconv will not be installed, as we only need to build it on" - echo "Solaris, HP-UX and Cygwin, as the system's iconv will be used" - echo "on other platforms, rather than the one shipped with Sage." - echo "See:" - echo " https://github.com/sagemath/sage/issues/8567" - echo " https://github.com/sagemath/sage/issues/9603" - exit 0 -esac - -# NOT REACHED diff --git a/build/pkgs/ipython/spkg-install.in b/build/pkgs/ipython/spkg-install.in index 5096a907a95..058b1344dc2 100644 --- a/build/pkgs/ipython/spkg-install.in +++ b/build/pkgs/ipython/spkg-install.in @@ -1,7 +1,3 @@ -# Old installations of ipython can leave a symlink which can interfere -# with proper installation. -rm -f "$SAGE_LOCAL"/bin/ipython - cd src sdh_pip_install . diff --git a/build/pkgs/jmol/jmol b/build/pkgs/jmol/jmol index 4c5710099f0..fe1114e27b5 100755 --- a/build/pkgs/jmol/jmol +++ b/build/pkgs/jmol/jmol @@ -7,11 +7,6 @@ if [ ! -f "$JMOL_JAR" ]; then echo >&2 "Jmol.jar not found in $JMOL_HOME" fi -if [ "$UNAME" = "CYGWIN" ]; then - # We are using the native Windows Java so we must provide Windows paths - JMOL_JAR="$(cygpath -w "$JMOL_JAR")" -fi - # May also pass arguments to the Java interpreter, in which case they # should come first in the argument list java -Xmx512m -jar "$JMOL_JAR" $@ diff --git a/build/pkgs/jmol/spkg-legacy-uninstall b/build/pkgs/jmol/spkg-legacy-uninstall deleted file mode 100755 index 6c9bd1a2c08..00000000000 --- a/build/pkgs/jmol/spkg-legacy-uninstall +++ /dev/null @@ -1,5 +0,0 @@ -#! /usr/bin/env bash -# Cleanup of previous installation -rm -rf "${SAGE_SHARE}/jsmol/" -rm -rf "${SAGE_SHARE}/jmol/" -rm -f "${SAGE_LOCAL}/bin/jmol" diff --git a/build/pkgs/lcalc/spkg-legacy-uninstall b/build/pkgs/lcalc/spkg-legacy-uninstall deleted file mode 100755 index 4cacdfd9367..00000000000 --- a/build/pkgs/lcalc/spkg-legacy-uninstall +++ /dev/null @@ -1,2 +0,0 @@ -#! /usr/bin/env bash -rm -fr "$SAGE_LOCAL"/include/libLfunction diff --git a/build/pkgs/libatomic_ops/spkg-install.in b/build/pkgs/libatomic_ops/spkg-install.in index 4953f4b0c1a..bcf36b76c24 100644 --- a/build/pkgs/libatomic_ops/spkg-install.in +++ b/build/pkgs/libatomic_ops/spkg-install.in @@ -5,10 +5,6 @@ if [ "$SAGE64" = "yes" ]; then export CFLAGS="-m64 $CFLAGS" fi -if [ "$UNAME" = "CYGWIN" ]; then - LIBATOMIC_OPS_CONFIGURE="$LIBATOMIC_OPS_CONFIGURE --enable-shared --disable-static" -fi - sdh_configure --enable-static $LIBATOMIC_OPS_CONFIGURE sdh_make sdh_make_install diff --git a/build/pkgs/libgd/spkg-legacy-uninstall b/build/pkgs/libgd/spkg-legacy-uninstall deleted file mode 100755 index c67f4d2167d..00000000000 --- a/build/pkgs/libgd/spkg-legacy-uninstall +++ /dev/null @@ -1,5 +0,0 @@ -#! /usr/bin/env bash -# Critical to get rid of old versions, since they will break the install, since -# at some point one of the libraries accidently links against what's in SAGE_LOCAL, -# instead of what is in the build directory! -rm "$SAGE_LOCAL"/lib/libgd.* diff --git a/build/pkgs/libpng/spkg-install.in b/build/pkgs/libpng/spkg-install.in index 75a47f7fca5..95326748188 100644 --- a/build/pkgs/libpng/spkg-install.in +++ b/build/pkgs/libpng/spkg-install.in @@ -6,11 +6,6 @@ export CFLAGS="$CFLAGS -fPIC -g" # Pick up Sage's zlib: export CPPFLAGS="-I$SAGE_LOCAL/include $CPPFLAGS" -# Needed to generate a correct import library -if [ "$UNAME" = "CYGWIN" ]; then - MAKE="$MAKE SYMBOL_PREFIX= " -fi - cd src sdh_configure --enable-shared=yes diff --git a/build/pkgs/m4ri/spkg-install.in b/build/pkgs/m4ri/spkg-install.in index c3ae2270406..0af3234ed16 100644 --- a/build/pkgs/m4ri/spkg-install.in +++ b/build/pkgs/m4ri/spkg-install.in @@ -24,9 +24,6 @@ else DISABLE_SSE2="" fi -# otherwise we might run into problems with old headers -rm -rf "$SAGE_LOCAL/include/m4ri" - cd src # Configure and build M4RI diff --git a/build/pkgs/m4rie/spkg-install.in b/build/pkgs/m4rie/spkg-install.in index 925706f0581..bc0c13ffe1e 100644 --- a/build/pkgs/m4rie/spkg-install.in +++ b/build/pkgs/m4rie/spkg-install.in @@ -27,12 +27,6 @@ export CFLAGS export CPPFLAGS export LDFLAGS -# otherwise we might run into problems with old headers - -if [ -d "$SAGE_LOCAL/include/m4rie" ]; then - rm -rf "$SAGE_LOCAL/include/m4rie" -fi - # build M4RIE cd $ROOT_DIR/src/ diff --git a/build/pkgs/mathjax/spkg-install.in b/build/pkgs/mathjax/spkg-install.in index 31cdb426992..2eeaf6e84b4 100644 --- a/build/pkgs/mathjax/spkg-install.in +++ b/build/pkgs/mathjax/spkg-install.in @@ -1,4 +1,2 @@ TARGET="${SAGE_SHARE}/mathjax" -# Cleanup installed version -rm -rf "${TARGET}" sdh_install src/* "${TARGET}" diff --git a/build/pkgs/mcqd/spkg-install.in b/build/pkgs/mcqd/spkg-install.in index 38e13b69bfc..a866618913e 100644 --- a/build/pkgs/mcqd/spkg-install.in +++ b/build/pkgs/mcqd/spkg-install.in @@ -3,11 +3,6 @@ grep -v "std..cout.*current max" mcqd.h > mcqd2.h mv mcqd2.h mcqd.h case "$UNAME" in -"CYGWIN") - SO_NAME="cygmcqd.dll" - IMPLIB_NAME="libmcqd.dll.a" - MCQD_LDFLAGS="-Wl,--out-implib,$IMPLIB_NAME" - ;; "Darwin") SO_NAME="libmcqd.dylib" ;; @@ -19,12 +14,7 @@ esac $CXX -fPIC -O3 -c mcqd.cpp -o mcqd.o $CXX -shared mcqd.o -o "$SO_NAME" $MCQD_LDFLAGS -if [ "$UNAME" = "CYGWIN" ]; then - sdh_install "$SO_NAME" "$SAGE_LOCAL/bin/" - sdh_install "$IMPLIB_NAME" "$SAGE_LOCAL/lib/" -else - sdh_install "$SO_NAME" "$SAGE_LOCAL/lib/" -fi +sdh_install "$SO_NAME" "$SAGE_LOCAL/lib/" if [ "$UNAME" = "Darwin" ]; then install_name_tool -id ${SAGE_LOCAL}/lib/$SO_NAME \ diff --git a/build/pkgs/meataxe/spkg-install.in b/build/pkgs/meataxe/spkg-install.in index 433e5ba7c86..231519fac23 100644 --- a/build/pkgs/meataxe/spkg-install.in +++ b/build/pkgs/meataxe/spkg-install.in @@ -1,16 +1,3 @@ -# Delete old (Shared)MeatAxe libraries. This ensures a sane state if -# installation of this package fails: the mtx library should exist if -# and only if meataxe is installed. In detail: the build-time check in -# src/setup.py checks whether or not the "meataxe" package is -# marked as installed but the run-time check for the matrix_gfpn_dense -# module checks whether it can be imported. We need to ensure that these -# two conditions are equivalent, otherwise strange things can happen. -# See also https://github.com/sagemath/sage/issues/24359#comment:154 -# -# This also deletes the static library left behind from the installation -# of MeatAxe (as opposed to SharedMeatAxe). -rm -f "$SAGE_LOCAL"/lib/libmtx.* - # Directory where executables are installed. export MTXBIN="$SAGE_LOCAL"/bin @@ -34,4 +21,3 @@ sdh_make_install if [ "$SAGE_SPKG_INSTALL_DOCS" = yes ] ; then $MAKE doc || sdh_die "Error documenting SharedMeatAxe" fi - diff --git a/build/pkgs/mpc/spkg-install.in b/build/pkgs/mpc/spkg-install.in index 3ee37482fd4..835bcc53ab2 100644 --- a/build/pkgs/mpc/spkg-install.in +++ b/build/pkgs/mpc/spkg-install.in @@ -8,21 +8,9 @@ unset CFLAGS EXTRA="" -if [ $UNAME = "CYGWIN" ]; then - EXTRA="--disable-static --enable-shared" -fi - # Building sdh_configure $SAGE_CONFIGURE_GMP $SAGE_CONFIGURE_MPFR $EXTRA sdh_make -# Cleaning -echo "Deleting old headers" -rm -f "$SAGE_LOCAL"/include/mpc.h -# Do not delete old libraries as this causes gcc to break during -# parallel builds. -# echo "Deleting old libraries" -# rm -f "$SAGE_LOCAL"/lib/libmpc.* - # Installing sdh_make_install diff --git a/build/pkgs/mpfr/spkg-install.in b/build/pkgs/mpfr/spkg-install.in index fbd4c59d541..b377e0a93b6 100644 --- a/build/pkgs/mpfr/spkg-install.in +++ b/build/pkgs/mpfr/spkg-install.in @@ -48,10 +48,6 @@ mpfr_configure() # currently causes problems on a few systems: SAGE_CONF_OPTS="--disable-thread-safe" - if [ "$UNAME" = CYGWIN ]; then - SAGE_CONF_OPTS="$SAGE_CONF_OPTS --disable-static --enable-shared" - fi - ########################################################################### # Pre-configure MPFR with CC and CFLAGS unset: ########################################################################### @@ -149,14 +145,6 @@ mpfr_build() { mpfr_configure sdh_make - - echo - echo "Building MPFR succeeded. Now deleting old headers..." - rm -f "$SAGE_LOCAL"/include/*mpfr* - # Do not delete old libraries as this causes gcc to break during - # parallel builds. - # rm -f "$SAGE_LOCAL"/lib/libmpfr.* - sdh_make_install } diff --git a/build/pkgs/mpfrcx/spkg-legacy-uninstall b/build/pkgs/mpfrcx/spkg-legacy-uninstall deleted file mode 100755 index 3538ccc54e4..00000000000 --- a/build/pkgs/mpfrcx/spkg-legacy-uninstall +++ /dev/null @@ -1,4 +0,0 @@ -#! /usr/bin/env bash -echo "Deleting old headers" -rm -f "$SAGE_LOCAL"/include/mpfrcx.h -rm -f "$SAGE_LOCAL"/lib/libmpfrcx.* diff --git a/build/pkgs/ntl/spkg-install.in b/build/pkgs/ntl/spkg-install.in index db04aa6b546..d82ddf370e5 100644 --- a/build/pkgs/ntl/spkg-install.in +++ b/build/pkgs/ntl/spkg-install.in @@ -31,9 +31,6 @@ ntl_configure() echo "Setting SHAREDFLAGS to '-fno-common'" SHAREDFLAGS="-fno-common" ;; - CYGWIN) - LIBTOOL_LINK_FLAGS="-no-undefined" - ;; esac # If SAGE_FAT_BINARY is enabled we don't want NTL to be built with CPU- @@ -115,11 +112,6 @@ ntl_build() ntl_install() { - echo - echo "Removing old NTL files." - rm -rf "$SAGE_LOCAL"/lib/libntl* - rm -rf "$SAGE_LOCAL"/include/NTL - echo echo "Installing NTL." diff --git a/build/pkgs/numpy/spkg-install.in b/build/pkgs/numpy/spkg-install.in index baebfd466a7..38f74b9c7a4 100644 --- a/build/pkgs/numpy/spkg-install.in +++ b/build/pkgs/numpy/spkg-install.in @@ -7,11 +7,6 @@ set -e # -- this also affects numpy export CXX=$(echo "$CXX" | sed 's/-std=[a-z0-9+]*//g') -if [ "$UNAME" = "CYGWIN" ]; then - # Trac #30643 - export CPPFLAGS="${CPPFLAGS} -D_GNU_SOURCE" -fi - if [ "$SAGE_FAT_BINARY" = "yes" ]; then export NUMPY_FCONFIG="--cpu-baseline=NONE" else diff --git a/build/pkgs/numpy/spkg-legacy-uninstall b/build/pkgs/numpy/spkg-legacy-uninstall deleted file mode 100755 index 9cb6a63a5a3..00000000000 --- a/build/pkgs/numpy/spkg-legacy-uninstall +++ /dev/null @@ -1,2 +0,0 @@ -#! /usr/bin/env bash -rm -rf "$SAGE_LOCAL"/lib/python*/site-packages/numpy diff --git a/build/pkgs/openblas/spkg-install.in b/build/pkgs/openblas/spkg-install.in index 2f8aea512bc..dbfcb6c1a75 100644 --- a/build/pkgs/openblas/spkg-install.in +++ b/build/pkgs/openblas/spkg-install.in @@ -59,9 +59,6 @@ if ! (sdh_make libs $OPENBLAS_CONFIGURE && sdh_make netlib $OPENBLAS_CONFIGURE & fi fi -# See https://github.com/sagemath/sage/issues/30335 -rm -f "$SAGE_LOCAL/lib/pkgconfig/cblas.pc" "$SAGE_LOCAL/lib/pkgconfig/blas.pc" "$SAGE_LOCAL/lib/pkgconfig/lapack.pc" - sdh_make_install PREFIX="$SAGE_LOCAL" NO_STATIC=1 $OPENBLAS_CONFIGURE cd .. ./write_pc_file.py diff --git a/build/pkgs/openblas/spkg-preinst.in b/build/pkgs/openblas/spkg-preinst.in new file mode 100644 index 00000000000..ced306d2d4e --- /dev/null +++ b/build/pkgs/openblas/spkg-preinst.in @@ -0,0 +1,2 @@ +# See https://github.com/sagemath/sage/issues/30335 +rm -f "$SAGE_LOCAL/lib/pkgconfig/cblas.pc" "$SAGE_LOCAL/lib/pkgconfig/blas.pc" "$SAGE_LOCAL/lib/pkgconfig/lapack.pc" diff --git a/build/pkgs/palp/spkg-install.in b/build/pkgs/palp/spkg-install.in index f594cc307a9..e31d133daf2 100644 --- a/build/pkgs/palp/spkg-install.in +++ b/build/pkgs/palp/spkg-install.in @@ -5,11 +5,6 @@ cd src mv Global.h Global.h-template CFLAGS="-O3 -W -Wall $CFLAGS -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" -# On Cygwin the stack size is ridiculously low by default, so that the nef -# executable which allocates everything on the stack for speed reason blows it -if [ "$UNAME" = "CYGWIN" ] ; then - CFLAGS="$CFLAGS -Wl,--stack,8000000" -fi # Undefine NDEBUG. Palp source has assert statements and preprocessing them # away changes the syntactical meaning of the program. diff --git a/build/pkgs/pari/patches/prot_none_cygwin.patch b/build/pkgs/pari/patches/prot_none_cygwin.patch deleted file mode 100644 index 16340dd492b..00000000000 --- a/build/pkgs/pari/patches/prot_none_cygwin.patch +++ /dev/null @@ -1,49 +0,0 @@ -Fix pari_mainstack_mreset() on Cygwin - -Rejected upstream because Cygwin is considered a dead platform - -diff --git a/src/language/init.c b/src/language/init.c -index 8473a3b..d9993cc 100644 ---- a/src/language/init.c -+++ b/src/language/init.c -@@ -884,8 +884,8 @@ pari_mainstack_mfree(void *s, size_t size) - /* Completely discard the memory mapped between the addresses "from" - * and "to" (which must be page-aligned). - * -- * We use mmap() with PROT_NONE, which means that the underlying memory -- * is freed and that the kernel should not commit memory for it. We -+ * We (generally) use mmap() with PROT_NONE, which means that the underlying -+ * memory is freed and that the kernel should not commit memory for it. We - * still keep the mapping such that we can change the flags to - * PROT_READ|PROT_WRITE later. - * -@@ -893,7 +893,12 @@ pari_mainstack_mfree(void *s, size_t size) - * calling mprotect(..., PROT_NONE) because the latter will keep the - * memory committed (this is in particular relevant on Linux with - * vm.overcommit = 2). This remains true even when calling -- * madvise(..., MADV_DONTNEED). */ -+ * madvise(..., MADV_DONTNEED). -+ * -+ * Unfortunately, the opposite is true on Cygwin--there, calling -+ * mprotect(..., PROT_NONE) does in fact decommit / free the mapped -+ * memory. Meanwhile there is a known bug that prevents already mapped -+ * memory to be re-mapped with MAP_FIXED and different protection flags. */ - static void - pari_mainstack_mreset(pari_sp from, pari_sp to) - { -@@ -902,11 +907,15 @@ pari_mainstack_mreset(pari_sp from, pari_sp to) - if (!s) return; - - addr = (void*)from; -+#ifdef __CYGWIN__ -+ if (mprotect(addr, s, PROT_NONE)) pari_err(e_MEM); -+#else - BLOCK_SIGINT_START; - res = mmap(addr, s, PROT_NONE, - MAP_FIXED|MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0); - BLOCK_SIGINT_END; - if (res != addr) pari_err(e_MEM); -+#endif - } - - /* Commit (make available) the virtual memory mapped between the diff --git a/build/pkgs/patch/spkg-install.in b/build/pkgs/patch/spkg-install.in index 5e86a881ff1..57f66569cb0 100644 --- a/build/pkgs/patch/spkg-install.in +++ b/build/pkgs/patch/spkg-install.in @@ -10,7 +10,3 @@ cd src sdh_configure sdh_make sdh_make_install - -if [ "$UNAME" = "CYGWIN" ] ; then - cp ../patch.exe.manifest "$SAGE_DESTDIR$SAGE_LOCAL/bin/" -fi diff --git a/build/pkgs/ppl/patches/cygwin-weak-symbols.patch b/build/pkgs/ppl/patches/cygwin-weak-symbols.patch deleted file mode 100644 index 535a009f82d..00000000000 --- a/build/pkgs/ppl/patches/cygwin-weak-symbols.patch +++ /dev/null @@ -1,14 +0,0 @@ -weak symbols don't work properly in 64-bit Cygwin and should not -be used (even though it will compile with __attribute__((weak)), -it will not linke; see https://github.com/sagemath/sage/issues/16152 ---- a/src/assertions.hh 2016-07-26 16:21:22.591434100 +0200 -+++ b/src/assertions.hh 2016-07-26 16:35:09.500888200 +0200 -@@ -98,7 +98,7 @@ - - namespace Parma_Polyhedra_Library { - --#if PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK -+#if PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK && ! (defined(__CYGWIN__) && defined(__x86_64__)) - #define PPL_WEAK_NORETURN __attribute__((weak, noreturn)) - #else - #define PPL_WEAK_NORETURN __attribute__((noreturn)) diff --git a/build/pkgs/ppl/spkg-install.in b/build/pkgs/ppl/spkg-install.in index 1f3162a6269..c986b3a20c6 100644 --- a/build/pkgs/ppl/spkg-install.in +++ b/build/pkgs/ppl/spkg-install.in @@ -17,12 +17,5 @@ if ! (sdh_configure --enable-interfaces=c,c++ $SAGE_CONFIGURE_GMP \ sdh_configure --enable-interfaces=c++ $SAGE_CONFIGURE_GMP $PPL_CONFIGURE fi -# Workaround to disable PPL's "watchdog timer", preventing it from clobbering -# Cysignals' SIGALRM handler on Cygwin; see -# https://github.com/sagemath/sage/issues/21190 -if [ "$UNAME" = "CYGWIN" ]; then - sed -i 's/#define HAVE_DECL_SETITIMER 1/#define HAVE_DECL_SETITIMER 0/' config.h -fi - sdh_make sdh_make_install diff --git a/build/pkgs/python3/patches/cygwin-ctypes.patch b/build/pkgs/python3/patches/cygwin-ctypes.patch deleted file mode 100644 index d3a0cc9053e..00000000000 --- a/build/pkgs/python3/patches/cygwin-ctypes.patch +++ /dev/null @@ -1,16 +0,0 @@ -This patch is needed for the ctypes library to get the correct name of the -libpython DLL, and is related to https://bugs.python.org/issue13756 -diff --git a/Lib/ctypes/__init__.py.orig b/Lib/ctypes/__init__.py -index f870968..8c87b7c 100644 ---- a/Lib/ctypes/__init__.py -+++ b/Lib/ctypes/__init__.py -@@ -431,7 +431,8 @@ pydll = LibraryLoader(PyDLL) - if _os.name == "nt": - pythonapi = PyDLL("python dll", None, _sys.dllhandle) - elif _sys.platform == "cygwin": -- pythonapi = PyDLL("libpython%d.%d.dll" % _sys.version_info[:2]) -+ import sysconfig as _sysconfig -+ pythonapi = PyDLL(_sysconfig.get_config_var('DLLLIBRARY')) - else: - pythonapi = PyDLL(None) - diff --git a/build/pkgs/python3/spkg-build.in b/build/pkgs/python3/spkg-build.in index 0c08814a242..4cd421bf4b8 100644 --- a/build/pkgs/python3/spkg-build.in +++ b/build/pkgs/python3/spkg-build.in @@ -62,17 +62,6 @@ fi # common in Cython-generated code. export EXTRA_CFLAGS="`testcflags.sh -Wno-unused $OLD_CFLAGS`" -# Remove old symbolic link: it is not needed and its presence can -# interfere with the Python build. -rm -f "$SAGE_LOCAL/lib/python" - -# Remove old libraries. We really need to do this before building Python -# since Python tries to import some modules (e.g. ctypes) at build-time. -# We need to make sure that the old installed libraries in local/lib are -# not used for that. See https://github.com/sagemath/sage/issues/24605 -rm -f "$SAGE_LOCAL"/lib/lib"$PKG_BASE"* - - # Note: --without-ensurepip ensures that setuptools+pip are *not* installed # automatically when installing python3. They will be installed instead by # the separate setuptools and pip packages; see diff --git a/build/pkgs/python3/spkg-install.in b/build/pkgs/python3/spkg-install.in index eae0f39647a..caf91d20c6d 100644 --- a/build/pkgs/python3/spkg-install.in +++ b/build/pkgs/python3/spkg-install.in @@ -59,8 +59,4 @@ fi if [ "$UNAME" = "Darwin" ] && \ [ `uname -r | cut '-d.' -f1` -gt 9 ]; then rm -f "${SAGE_DESTDIR}${PYTHON_CONFIG_DIR}/libpython${PYTHON_LDVERSION}.a" -elif [ "$UNAME" = "CYGWIN" ]; then - # See https://github.com/sagemath/sage/issues/20437 - ln -sf "${PYTHON_CONFIG_DIR}/libpython${PYTHON_LDVERSION}.dll.a" \ - "${SAGE_DESTDIR_LOCAL}/lib/libpython${PYTHON_LDVERSION}.dll.a" fi diff --git a/build/pkgs/qhull/spkg-install.in b/build/pkgs/qhull/spkg-install.in index 73810f54625..c3df534ad86 100644 --- a/build/pkgs/qhull/spkg-install.in +++ b/build/pkgs/qhull/spkg-install.in @@ -5,9 +5,4 @@ sdh_cmake -DCMAKE_VERBOSE_MAKEFILE=ON \ sdh_make -# clean old install -rm -rf "${SAGE_LOCAL}"/include/libqhull -rm -rf "${SAGE_LOCAL}"/include/qhull -rm -rf "${SAGE_LOCAL}"/lib/libqhull* - sdh_make_install diff --git a/build/pkgs/readline/spkg-install.in b/build/pkgs/readline/spkg-install.in index 126c4372169..a9322e4bed8 100644 --- a/build/pkgs/readline/spkg-install.in +++ b/build/pkgs/readline/spkg-install.in @@ -4,25 +4,12 @@ sdh_configure --with-curses --enable-shared --disable-static echo "Now building static and shared readline libraries..." sdh_make -echo "Build succeedeed. Deleting old readline headers and libs" -echo "before installing the new ones..." -# (Note; Actually also readline does this by itself, but doing it -# here, too, doesn't hurt either.) -rm -rf "$SAGE_LOCAL"/include/readline/ "$SAGE_LOCAL"/lib/libreadline.* -if [[ $? -ne 0 ]]; then - echo >&2 "Error removing old version of readline." - exit 1 -fi - echo "Now installing the new readline headers and libraries..." sdh_make_install case "$UNAME" in Darwin) DYLIB_NAME=libreadline.dylib;; - CYGWIN) - # It is of course very lame that readline names the file .dll.a, but that's what it does. - DYLIB_NAME=libreadline.dll.a;; OpenBSD) # Untested. (David Kirkby, 11th November 2010) # Extension changed from 6.1 to 6.2; still untested. (October 2011) diff --git a/build/pkgs/rpy2/SPKG.rst b/build/pkgs/rpy2/SPKG.rst index a4d119802f1..3ba34445021 100644 --- a/build/pkgs/rpy2/SPKG.rst +++ b/build/pkgs/rpy2/SPKG.rst @@ -21,12 +21,3 @@ Upstream Contact ---------------- - https://rpy2.bitbucket.io - -Special Update/Build Instructions ---------------------------------- - -Patches -~~~~~~~ - -- setup.patch: takes care of a few parsing issues. -- cygwin.patch: let rpy2 build on Cygwin. diff --git a/build/pkgs/sagelib/spkg-install b/build/pkgs/sagelib/spkg-install index 730829b3101..b8d92074cf3 100755 --- a/build/pkgs/sagelib/spkg-install +++ b/build/pkgs/sagelib/spkg-install @@ -89,7 +89,3 @@ fi # Trac #33103: The temp.* directories are large after a full build. # We remove them to save space; they are not needed for fast rebuilds. rm -rf build/temp.* - -if [ "$UNAME" = "CYGWIN" ]; then - sage-rebase.sh "$SAGE_VENV" 2>/dev/null; -fi diff --git a/build/pkgs/sagetex/spkg-install.in b/build/pkgs/sagetex/spkg-install.in index 55f0e9c76e5..058b1344dc2 100644 --- a/build/pkgs/sagetex/spkg-install.in +++ b/build/pkgs/sagetex/spkg-install.in @@ -1,6 +1,3 @@ cd src sdh_pip_install . - -echo "Removing old SageTex version(s)" -rm -rf $SAGE_LOCAL/share/texmf/tex/generic/sagetex diff --git a/build/pkgs/singular/spkg-install.in b/build/pkgs/singular/spkg-install.in index c20def91a2f..c64820f4af1 100644 --- a/build/pkgs/singular/spkg-install.in +++ b/build/pkgs/singular/spkg-install.in @@ -11,58 +11,8 @@ if [ "x$SAGE_DEBUG" = "xyes" ]; then SINGULAR_CONFIGURE="$SINGULAR_CONFIGURE --enable-debug --disable-optimizationflags" fi -remove_old_version() -{ - # the following is a little verbose but it ensures we leave no trace of 3.x - # _or_ 4.x - rm -f "$SAGE_LOCAL"/bin/*Singular* - rm -f "$SAGE_LOCAL"/bin/*singular* - rm -rf "$SAGE_LOCAL/include/singular" # 3.x and 4.x - rm -rf "$SAGE_LOCAL/include/factory" # 3.x and 4.x - rm -f "$SAGE_LOCAL/include/factor.h" # 3.x only - rm -f "$SAGE_LOCAL/include/factoryconf.h" # 3.x only - rm -rf "$SAGE_LOCAL/include/omalloc" #4.x only - rm -f "$SAGE_LOCAL/include/omalloc.h" # 3.x only - rm -f "$SAGE_LOCAL/include/omlimits.h" # 3.x only - rm -rf "$SAGE_LOCAL/include/resources" #4.x only - rm -rf "$SAGE_LOCAL/include/gfanlib" #4.x only - - # Clean up all Singular-related libraries - libs=( - singular # 3.x with lower case - singcf # 3.x only additional archives - singfac # 3.x only additional archives - Singular # 4.x with upper case - polys - factory - omalloc - resources # 3.x - singular_resources # 4.x and up - gfan - ) - if [ "$UNAME" = "CYGWIN" ]; then - for name in ${libs[*]}; do - rm -f "$SAGE_LOCAL"/bin/cyg${name}*.dll - rm -f "$SAGE_LOCAL"/lib/lib${name}*.a - done - else - for name in ${libs[*]}; do - rm -f "$SAGE_LOCAL"/lib/lib${name}* - done - fi - - rm -f "$SAGE_LOCAL"/lib/p_Procs_Field* # 3.x only - rm -rf "$SAGE_LOCAL/share/singular" - rm -f "$SAGE_LOCAL"/share/info/singular* -} - config() { - if [ "$UNAME" = "CYGWIN" ]; then - # from Hans Schoenemann - https://github.com/Singular/Singular/issues/1017 - SINGULAR_CONFIGURE="$SINGULAR_CONFIGURE --disable-p-procs-dynamic --enable-p-procs-static --with-builtinmodules=gfanlib,gitfan,interval,loctriv,partialgb,syzextra,customstd,cohomo,subsets,freealgebra,systhreads --disable-cf-inline --disable-Order-module --disable-bigintm-module --disable-pyobject-module" - fi - # configure notes (dates from Singular 3.x, maybe outdated for 4.x): # 1) We really need to add --exec-prefix and --bindir as Singular # uses some weird defaults. @@ -104,7 +54,7 @@ build_singular() # Actually run all the functions defined above -for i in remove_old_version config build_singular; do +for i in config build_singular; do echo "############### Singular stage $i ###############" cd "$SRC" && $i done diff --git a/build/pkgs/sqlite/spkg-install.in b/build/pkgs/sqlite/spkg-install.in index d13df2ba1b8..0ddfea7a619 100644 --- a/build/pkgs/sqlite/spkg-install.in +++ b/build/pkgs/sqlite/spkg-install.in @@ -1,5 +1,3 @@ -rm -f "$SAGE_LOCAL/bin/sqlite3" - cd src export CPPFLAGS="$CPPFLAGS -I$SAGE_LOCAL/include" diff --git a/build/pkgs/tachyon/spkg-install.in b/build/pkgs/tachyon/spkg-install.in index ec52842b6a5..5f0d2980dc3 100644 --- a/build/pkgs/tachyon/spkg-install.in +++ b/build/pkgs/tachyon/spkg-install.in @@ -4,9 +4,6 @@ cd "$CUR/src/unix" TARGET="" case "$UNAME" in -"CYGWIN") - TARGET=win32 - ;; "Darwin") TARGET=macosx ;; @@ -59,12 +56,7 @@ sdh_make "$TARGET" echo "Installing the Tachyon binary..." cd "$CUR" -if [ "$UNAME" = CYGWIN ]; then - binary_name=tachyon.exe -else - binary_name=tachyon -fi +binary_name=tachyon -# The '*' is a place-holder for the arch just built (e.g. 'win32' for -# Cygwin, other directories won't exist): +# The '*' is a place-holder for the arch just built: sdh_install src/compile/*/"${binary_name}" "$SAGE_LOCAL/bin" diff --git a/build/pkgs/zlib/SPKG.rst b/build/pkgs/zlib/SPKG.rst index 5a3496935cf..dd001ab087e 100644 --- a/build/pkgs/zlib/SPKG.rst +++ b/build/pkgs/zlib/SPKG.rst @@ -17,11 +17,3 @@ Upstream Contact ---------------- - http://www.zlib.net/ - -Special Update/Build Instructions ---------------------------------- - -Patches -~~~~~~~ - -- cygwin_symbols.patch: remove undefined symbols on Cygwin. diff --git a/build/pkgs/zlib/patches/cygwin-gzopen_w.patch b/build/pkgs/zlib/patches/cygwin-gzopen_w.patch deleted file mode 100644 index 3de4978c306..00000000000 --- a/build/pkgs/zlib/patches/cygwin-gzopen_w.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/gzguts.h b/gzguts.h -index 990a4d2..6378d46 100644 ---- a/gzguts.h -+++ b/gzguts.h -@@ -39,7 +39,7 @@ - # include - #endif - --#if defined(_WIN32) || defined(__CYGWIN__) -+#if defined(_WIN32) - # define WIDECHAR - #endif - diff --git a/build/pkgs/zlib/patches/cygwin-windef.diff_bin b/build/pkgs/zlib/patches/cygwin-windef.diff_bin deleted file mode 100644 index a16ef1ac239..00000000000 --- a/build/pkgs/zlib/patches/cygwin-windef.diff_bin +++ /dev/null @@ -1,9 +0,0 @@ -diff --git a/win32/zlib.def b/win32/zlib.def -index 784b138..b69fa3e 100644 ---- a/win32/zlib.def -+++ b/win32/zlib.def -@@ -91,4 +91,3 @@ EXPORTS - inflateCodesUsed - inflateResetKeep - deflateResetKeep -- gzopen_w diff --git a/build/pkgs/zlib/spkg-install.in b/build/pkgs/zlib/spkg-install.in index 6b21192934b..b70d55e02a2 100644 --- a/build/pkgs/zlib/spkg-install.in +++ b/build/pkgs/zlib/spkg-install.in @@ -1,22 +1,9 @@ cd src/ -echo "patching win32/zlib.def with a binary patch" -patch -p1 --posix --binary <"$SAGE_ROOT/build/pkgs/zlib/patches/cygwin-windef.diff_bin" -if [ "$UNAME" = CYGWIN ]; then - export BINARY_PATH="$SAGE_LOCAL/bin" - export INCLUDE_PATH="$SAGE_LOCAL/include" - export LIBRARY_PATH="$SAGE_LOCAL/lib" - cp -f win32/Makefile.gcc Makefile || \ - sdh_die "Error copying over zlib's Makefile for Cygwin." - - # We want to install shared objects - sed -i 's/SHARED_MODE=0/SHARED_MODE=1/' Makefile -else - # Trac #28890: zlib does not use a standard autoconf-generated configure - # script, so don't use the sdh_configure helper as it may have minor - # incompatibilities - ./configure --shared --prefix="$SAGE_LOCAL" --libdir="$SAGE_LOCAL/lib" || sdh_die "Error configuring $PKG_NAME" -fi +# Trac #28890: zlib does not use a standard autoconf-generated configure +# script, so don't use the sdh_configure helper as it may have minor +# incompatibilities +./configure --shared --prefix="$SAGE_LOCAL" --libdir="$SAGE_LOCAL/lib" || sdh_die "Error configuring $PKG_NAME" sdh_make sdh_make_install diff --git a/configure.ac b/configure.ac index d1c2aceb413..6e124ed6328 100644 --- a/configure.ac +++ b/configure.ac @@ -206,7 +206,6 @@ The Sage community would also appreciate any patches you submit]]);; *-*-linux*);; *-*-darwin*);; *-*-solaris*);; -*-*-cygwin*);; # Wildcard for other unsupported platforms *) diff --git a/pkgs/sage-conf/README.rst b/pkgs/sage-conf/README.rst index 5730592e35a..590e5ba1356 100644 --- a/pkgs/sage-conf/README.rst +++ b/pkgs/sage-conf/README.rst @@ -66,8 +66,8 @@ this symlink is necessary for the prebuilt libraries and programs to work. ``/var/tmp`` is a sticky directory on all Linux distributions -following the Filesystem Hierarchy Standard, as well as on macOS and -on Cygwin. On multi-user systems, only one user can use a given +following the Filesystem Hierarchy Standard, as well as on macOS. +On multi-user systems, only one user can use a given version of the distribution; other installation schemes are recommended for systems with multiple Sage users. diff --git a/pkgs/sage-docbuild/README.rst b/pkgs/sage-docbuild/README.rst index 16ed52cdd52..178f9f213c9 100644 --- a/pkgs/sage-docbuild/README.rst +++ b/pkgs/sage-docbuild/README.rst @@ -12,7 +12,7 @@ About SageMath https://www.sagemath.org -SageMath fully supports all major Linux distributions, recent versions of macOS, and Windows (using Cygwin or Windows Subsystem for Linux). +SageMath fully supports all major Linux distributions, recent versions of macOS, and Windows (using Windows Subsystem for Linux). The traditional and recommended way to install SageMath is from source via Sage-the-distribution (https://www.sagemath.org/download-source.html). Sage-the-distribution first builds a large number of open source packages from source (unless it finds suitable versions installed in the system) and then installs the Sage Library (sagelib, implemented in Python and Cython). diff --git a/pkgs/sagemath-bliss/README.rst b/pkgs/sagemath-bliss/README.rst index 9e1cb2e826f..72526111226 100644 --- a/pkgs/sagemath-bliss/README.rst +++ b/pkgs/sagemath-bliss/README.rst @@ -13,7 +13,7 @@ About SageMath https://www.sagemath.org SageMath fully supports all major Linux distributions, recent versions of -macOS, and Windows (using Cygwin or Windows Subsystem for Linux). +macOS, and Windows (Windows Subsystem for Linux). The traditional and recommended way to install SageMath is from source via Sage-the-distribution (https://www.sagemath.org/download-source.html). diff --git a/pkgs/sagemath-categories/README.rst b/pkgs/sagemath-categories/README.rst index 55cddc3c95c..398b5f81a91 100644 --- a/pkgs/sagemath-categories/README.rst +++ b/pkgs/sagemath-categories/README.rst @@ -13,7 +13,7 @@ About SageMath https://www.sagemath.org SageMath fully supports all major Linux distributions, recent versions of -macOS, and Windows (using Cygwin or Windows Subsystem for Linux). +macOS, and Windows (Windows Subsystem for Linux). The traditional and recommended way to install SageMath is from source via Sage-the-distribution (https://www.sagemath.org/download-source.html). diff --git a/pkgs/sagemath-coxeter3/README.rst b/pkgs/sagemath-coxeter3/README.rst index 8b605bda499..c75e83995a3 100644 --- a/pkgs/sagemath-coxeter3/README.rst +++ b/pkgs/sagemath-coxeter3/README.rst @@ -13,7 +13,7 @@ About SageMath https://www.sagemath.org SageMath fully supports all major Linux distributions, recent versions of -macOS, and Windows (using Cygwin or Windows Subsystem for Linux). +macOS, and Windows (Windows Subsystem for Linux). The traditional and recommended way to install SageMath is from source via Sage-the-distribution (https://www.sagemath.org/download-source.html). diff --git a/pkgs/sagemath-environment/README.rst b/pkgs/sagemath-environment/README.rst index eaeb4078fed..a8003060bd9 100644 --- a/pkgs/sagemath-environment/README.rst +++ b/pkgs/sagemath-environment/README.rst @@ -13,7 +13,7 @@ About SageMath https://www.sagemath.org SageMath fully supports all major Linux distributions, recent versions of -macOS, and Windows (using Cygwin or Windows Subsystem for Linux). +macOS, and Windows (Windows Subsystem for Linux). The traditional and recommended way to install SageMath is from source via Sage-the-distribution (https://www.sagemath.org/download-source.html). diff --git a/pkgs/sagemath-mcqd/README.rst b/pkgs/sagemath-mcqd/README.rst index 00ef5f8ea3e..4fcf37ec1a3 100644 --- a/pkgs/sagemath-mcqd/README.rst +++ b/pkgs/sagemath-mcqd/README.rst @@ -13,7 +13,7 @@ About SageMath https://www.sagemath.org SageMath fully supports all major Linux distributions, recent versions of -macOS, and Windows (using Cygwin or Windows Subsystem for Linux). +macOS, and Windows (Windows Subsystem for Linux). The traditional and recommended way to install SageMath is from source via Sage-the-distribution (https://www.sagemath.org/download-source.html). diff --git a/pkgs/sagemath-meataxe/README.rst b/pkgs/sagemath-meataxe/README.rst index 659edb3cf9f..e38540cc304 100644 --- a/pkgs/sagemath-meataxe/README.rst +++ b/pkgs/sagemath-meataxe/README.rst @@ -13,7 +13,7 @@ About SageMath https://www.sagemath.org SageMath fully supports all major Linux distributions, recent versions of -macOS, and Windows (using Cygwin or Windows Subsystem for Linux). +macOS, and Windows (Windows Subsystem for Linux). The traditional and recommended way to install SageMath is from source via Sage-the-distribution (https://www.sagemath.org/download-source.html). diff --git a/pkgs/sagemath-objects/README.rst b/pkgs/sagemath-objects/README.rst index 4426d8683a3..e2959d72eae 100644 --- a/pkgs/sagemath-objects/README.rst +++ b/pkgs/sagemath-objects/README.rst @@ -13,7 +13,7 @@ About SageMath https://www.sagemath.org SageMath fully supports all major Linux distributions, recent versions of -macOS, and Windows (using Cygwin or Windows Subsystem for Linux). +macOS, and Windows (Windows Subsystem for Linux). The traditional and recommended way to install SageMath is from source via Sage-the-distribution (https://www.sagemath.org/download-source.html). diff --git a/pkgs/sagemath-repl/README.rst b/pkgs/sagemath-repl/README.rst index 90b73be3cf5..115614a5d7e 100644 --- a/pkgs/sagemath-repl/README.rst +++ b/pkgs/sagemath-repl/README.rst @@ -13,7 +13,7 @@ About SageMath https://www.sagemath.org SageMath fully supports all major Linux distributions, recent versions of -macOS, and Windows (using Cygwin or Windows Subsystem for Linux). +macOS, and Windows (Windows Subsystem for Linux). The traditional and recommended way to install SageMath is from source via Sage-the-distribution (https://www.sagemath.org/download-source.html). diff --git a/pkgs/sagemath-sirocco/README.rst b/pkgs/sagemath-sirocco/README.rst index 0207d63b9a5..824ca3b03a6 100644 --- a/pkgs/sagemath-sirocco/README.rst +++ b/pkgs/sagemath-sirocco/README.rst @@ -13,7 +13,7 @@ About SageMath https://www.sagemath.org SageMath fully supports all major Linux distributions, recent versions of -macOS, and Windows (using Cygwin or Windows Subsystem for Linux). +macOS, and Windows (Windows Subsystem for Linux). The traditional and recommended way to install SageMath is from source via Sage-the-distribution (https://www.sagemath.org/download-source.html). diff --git a/pkgs/sagemath-standard/README.rst b/pkgs/sagemath-standard/README.rst index f624d1414a7..f429984aa4c 100644 --- a/pkgs/sagemath-standard/README.rst +++ b/pkgs/sagemath-standard/README.rst @@ -12,7 +12,7 @@ About SageMath https://www.sagemath.org -SageMath fully supports all major Linux distributions, recent versions of macOS, and Windows (using Cygwin or Windows Subsystem for Linux). +SageMath fully supports all major Linux distributions, recent versions of macOS, and Windows (Windows Subsystem for Linux). The traditional and recommended way to install SageMath is from source via Sage-the-distribution (https://www.sagemath.org/download-source.html). Sage-the-distribution first builds a large number of open source packages from source (unless it finds suitable versions installed in the system) and then installs the Sage Library (sagelib, implemented in Python and Cython). diff --git a/pkgs/sagemath-tdlib/README.rst b/pkgs/sagemath-tdlib/README.rst index 0c91ddcf1c6..fb1729a073c 100644 --- a/pkgs/sagemath-tdlib/README.rst +++ b/pkgs/sagemath-tdlib/README.rst @@ -13,7 +13,7 @@ About SageMath https://www.sagemath.org SageMath fully supports all major Linux distributions, recent versions of -macOS, and Windows (using Cygwin or Windows Subsystem for Linux). +macOS, and Windows (Windows Subsystem for Linux). The traditional and recommended way to install SageMath is from source via Sage-the-distribution (https://www.sagemath.org/download-source.html). diff --git a/src/bin/sage-env b/src/bin/sage-env index b4fca91b314..29b96c3c895 100644 --- a/src/bin/sage-env +++ b/src/bin/sage-env @@ -268,11 +268,7 @@ if [ -n "$SAGE_LOCAL" -a -f "$SAGE_LOCAL"/toolchain/toolchain-env ]; then fi # setting of the variable UNAME (describing the o.s.) -# On Cygwin the result of `uname` depends on the version of Windows -# it is running on, e.g. CYGWIN_NT-5.1 on 32 bits Windows XP or -# CYGWIN_NT-6.1-WOW64 on 64 bits Windows 7. -# Currently, this information is of no use to us so we discard it. -export UNAME=`uname | sed 's/CYGWIN.*/CYGWIN/' ` +export UNAME=`uname` # Mac OS X-specific setup if [ "$UNAME" = "Darwin" ]; then @@ -547,15 +543,6 @@ if [ "$TOUCH" = "" ]; then TOUCH="touch" && export TOUCH fi -if [ "$UNAME" = "CYGWIN" -a -n "$SAGE_LOCAL" ]; then - # Cygwin needs pathnames in PATH to resolve runtime dependencies - PATH="$SAGE_LOCAL/lib/R/lib:$SAGE_LOCAL/lib:$PATH" && export PATH - # And "dlopen" needs them in LD_LIBRARY_PATH, just as on Linuces, - # except that on Cygwin shared libraries are usually stored in "bin" - # and not in "lib" - LD_LIBRARY_PATH="$SAGE_LOCAL/bin:$LD_LIBRARY_PATH" && export LD_LIBRARY_PATH -fi - # Handle parallel building/testing/... case "$SAGE_NUM_THREADS,$SAGE_NUM_THREADS_PARALLEL" in [1-9][0-9]*,[1-9][0-9]*) diff --git a/src/bin/sage-rebase.bat b/src/bin/sage-rebase.bat deleted file mode 100755 index de481343786..00000000000 --- a/src/bin/sage-rebase.bat +++ /dev/null @@ -1,52 +0,0 @@ -@echo off -rem Author: -rem * Jean-Pierre Flori -rem * Erik M. Bray -rem -rem Rebase all dlls in the SAGE_LOCAL directory (and its subdirectories), -rem but do not touch the ones already stored in the system database, -rem and do not update it. -rem Note that subsequent calls to 'rebaseall' will not update the Sage dlls. -rem -rem Invoke this script from a Windows command prompt -rem and, if Cygwin is installed in a non-standard location, -rem adjusting CYGWIN_ROOT. - -setlocal ENABLEEXTENSIONS - -set THIS_BIN=%~dp0 - -rem SAGE_LOCAL should be one level up from the bin/ this script is in -rem This is about the most elegant way to do this I can find thanks -rem http://stackoverflow.com/a/33404867/982257 -call :NORMALIZEPATH "%THIS_BIN%.." -set SAGE_LOCAL=%RETVAL% - -rem Cygwin saves its installation root here -rem If there is more than one Cygwin installation on the system this -rem will just pick up the first one -call :READREGISTRY HKEY_LOCAL_MACHINE\SOFTWARE\Cygwin\setup rootdir -set CYGWIN_ROOT=%RETVAL% - -rem Make sure bash can be called from MSDOS prompt: -path %CYGWIN_ROOT%\bin;%path% -rem Suppress warning about MSDOS-style path: -set CYGWIN=%CYGWIN% nodosfilewarning -rem Call the bash script to do the real work: -cd %SAGE_LOCAL% -bash bin\sage-rebase.sh - - -:: ========== FUNCTIONS ========== -exit /B - -:READREGISTRY - for /F "usebackq skip=2 tokens=3" %%V in (`reg query %1 /v %2 2^>nul`) do ( - set RETVAL=%%V - break - ) - exit /B - -:NORMALIZEPATH - set RETVAL=%~dpfn1 - exit /B diff --git a/src/bin/sage-rebase.sh b/src/bin/sage-rebase.sh deleted file mode 100755 index 21017c704e8..00000000000 --- a/src/bin/sage-rebase.sh +++ /dev/null @@ -1,75 +0,0 @@ -#!/bin/dash - -# Author: -# * Jean-Pierre Flori -# * Gary Zablackis -# * Dmitrii Pasechnik -# * Erik M. Bray -# -# Rebase all dlls in the SAGE_LOCAL directory (and its subdirectories), -# but do not touch the ones already stored in the system database, -# and do not update it. -# Note that subsequent calls to 'rebaseall' will not update the Sage dlls. -# -# Usage: -# -# sage-rebase.sh [--all] [sage_local] [-- additional_flags] -# -# Positional arguments: -# -# sage_local optionally, provide the path to the $SAGE_LOCAL directory to -# search for DLLs to rebase; otherwise the current working -# directory is assumed to be $SAGE_LOCAL unless $SAGE_LOCAL -# is already set in the environment -# -# Optional arguments: -# -# --all run rebaseall instead of rebase (originally the call to -# rebaseall was in the sage-rebaseall.sh script, but now that is -# just a wrapper around this script) -# -# -- additional arguments passed in after -- are passed to the -# rebase/rebaseall call in addition to the default arguments -# passed in by this script -# -# Invoke this script from a shell after going to the SAGE_LOCAL directory. -ALL=0 -REBASEFLAGS="" - -while [ $# -gt 0 ]; do - case "$1" in - --all) - ALL=1 - ;; - --) - shift - REBASEFLAGS="$REBASEFLAGS $1" - ;; - *) - if [ -z "$REBASEFLAGS" ]; then - SAGE_LOCAL="${1%/}" - else - REBASEFLAGS="$REBASEFLAGS $1" - fi - ;; - esac - shift -done - -if [ -z "$SAGE_LOCAL" ]; then - # Assume we are in $SAGE_LOCAL by default (the old behavior of this script) - SAGE_LOCAL=. -fi - -FINDFLAGS="-type f ( -name *.dll -o -name *.so -o -name *.fas ) -print" -FINDFLAGS="$FINDFLAGS -o -path "$SAGE_LOCAL"/var/tmp -prune" - -echo "Getting list of dlls. This may take a while..." -/bin/find "$SAGE_LOCAL" $FINDFLAGS > /tmp/sage-dlls.lst -echo "Now rebasing..." - -if [ $ALL -eq 0 ]; then - /bin/rebase -O -T /tmp/sage-dlls.lst $REBASEFLAGS -else - /bin/rebaseall -s dll -s exe -s so -s fas -T /tmp/sage-dlls.lst $REBASEFLAGS -fi diff --git a/src/bin/sage-rebaseall.bat b/src/bin/sage-rebaseall.bat deleted file mode 100755 index 0ae927f5e64..00000000000 --- a/src/bin/sage-rebaseall.bat +++ /dev/null @@ -1,56 +0,0 @@ -@echo off -rem Authors: -rem * Dmitrii Pasechnik -rem * Jean-Pierre Flori -rem * Erik M. Bray -rem -rem Rebase all dlls in the SAGE_LOCAL directory (and its subdirectories), -rem as well as the ones already stored in the system database, -rem and update the database. -rem This system-wide database is located in '/etc/rebase.db.i386' and -rem includes the Cygwin system dlls. -rem -rem Invoke this script from a Windows command prompt -rem and, if Cygwin is installed in a non-standard location, -rem adjusting CYGWIN_ROOT. -rem -rem Ensure that no other Cygwin processes are currently running. -rem Note that you need write access to the system-wide rebase database -rem (which usually means admin rights). - -set THIS_BIN=%~dp0 - -rem SAGE_LOCAL should be one level up from the bin/ this script is in -rem This is about the most elegant way to do this I can find thanks -rem http://stackoverflow.com/a/33404867/982257 -call :NORMALIZEPATH "%THIS_BIN%.." -set SAGE_LOCAL=%RETVAL% - -rem Cygwin saves its installation root here -rem If there is more than one Cygwin installation on the system this -rem will just pick up the first one -call :READREGISTRY HKEY_LOCAL_MACHINE\SOFTWARE\Cygwin\setup rootdir -set CYGWIN_ROOT=%RETVAL% - -rem Make sure dash can be called from MSDOS prompt: -path %CYGWIN_ROOT%\bin;%path% -rem Suppress warning about MSDOS-style path: -set CYGWIN=%CYGWIN% nodosfilewarning -rem Call the dash script to do the real work: -cd %SAGE_LOCAL% -dash bin\sage-rebaseall.sh - - -:: ========== FUNCTIONS ========== -exit /B - -:READREGISTRY - for /F "usebackq skip=2 tokens=3" %%V in (`reg query %1 /v %2 2^>nul`) do ( - set RETVAL=%%V - break - ) - exit /B - -:NORMALIZEPATH - set RETVAL=%~dpfn1 - exit /B diff --git a/src/bin/sage-rebaseall.sh b/src/bin/sage-rebaseall.sh deleted file mode 100755 index dfdf2e08067..00000000000 --- a/src/bin/sage-rebaseall.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/dash - -# Authors: -# * Gary Zablackis -# * Dmitrii Pasechnik -# * Jean-Pierre Flori -# -# Rebase all dlls in the SAGE_LOCAL directory (and its subdirectories) -# as well as the ones already stored in the system database, -# and update the database. -# This system-wide database is located in '/etc/rebase.db.i386' and -# includes the Cygwin system dlls. -# -# Invoke this script from a dash shell after going to the SAGE_LOCAL directory. -# Ensure that no other Cygwin processes are currently running. -# Note that you need write access to the system-wide rebase database -# (which usually means admin rights). - -DIR=$(dirname "$(readlink -f "$0")") -exec "$DIR"/sage-rebase.sh --all $@ diff --git a/src/doc/bootstrap b/src/doc/bootstrap index fde83e4fd1b..b6830ad7bb3 100755 --- a/src/doc/bootstrap +++ b/src/doc/bootstrap @@ -28,7 +28,7 @@ shopt -s extglob RECOMMENDED_SPKG_PATTERN="@(_recommended$(for a in $(head -n 1 build/pkgs/_recommended/dependencies); do echo -n "|"$a; done))" DEVELOP_SPKG_PATTERN="@(_develop$(for a in $(head -n 1 build/pkgs/_develop/dependencies); do echo -n "|"$a; done))" -for SYSTEM in arch debian fedora cygwin homebrew opensuse; do +for SYSTEM in arch debian fedora homebrew opensuse; do SYSTEM_PACKAGES= OPTIONAL_SYSTEM_PACKAGES= SAGELIB_SYSTEM_PACKAGES= diff --git a/src/doc/en/developer/git_setup.rst b/src/doc/en/developer/git_setup.rst index 49218288afa..f95b0d653da 100644 --- a/src/doc/en/developer/git_setup.rst +++ b/src/doc/en/developer/git_setup.rst @@ -18,10 +18,6 @@ Debian / Ubuntu Fedora Run ``sudo yum install git-core`` -Windows (Cygwin) - Install the Cygwin package Git. Do not attempt to use native - Windows installations of Git. - Windows (WSL) We strongly recommend to install the package using the Linux distribution's package manager. Native Windows installations of diff --git a/src/doc/en/developer/packaging.rst b/src/doc/en/developer/packaging.rst index 9f8bd2528ef..97904e97ea7 100644 --- a/src/doc/en/developer/packaging.rst +++ b/src/doc/en/developer/packaging.rst @@ -514,7 +514,6 @@ containing files with names like :: arch.txt conda.txt - cygwin.txt debian.txt homebrew.txt ... @@ -1216,7 +1215,7 @@ must meet the following requirements: them `_. - **Build Support**. The code must build on all the fully supported - platforms (Linux, macOS, Cygwin); see :ref:`chapter-portability_testing`. + platforms (Linux, macOS); see :ref:`chapter-portability_testing`. It must be installed either from source as a normal package, or as a Python (platform-independent) wheel package, see :ref:`section-package-source-types`. diff --git a/src/doc/en/developer/portability_testing.rst b/src/doc/en/developer/portability_testing.rst index b95bb7b5ab7..0ad863f4e0f 100644 --- a/src/doc/en/developer/portability_testing.rst +++ b/src/doc/en/developer/portability_testing.rst @@ -10,7 +10,7 @@ Testing on Multiple Platforms Sage is intended to build and run on a variety of platforms, including all major Linux distributions, as well as MacOS, and -Windows (with Cygwin and WSL). +Windows (with WSL). There is considerable variation among these platforms. To ensure that Sage continues to build correctly on users' @@ -967,11 +967,6 @@ This is defined in the files - `$SAGE_ROOT/.github/workflows/ci-macos.yml `_, and -- `$SAGE_ROOT/.github/workflows/ci-cygwin-standard.yml - `_ - (which calls `$SAGE_ROOT/.github/workflows/cygwin.yml - `_). - GitHub Actions runs these build jobs on 2-core machines with 7 GB of RAM memory and 14 GB of SSD disk space, cf. `here `_, diff --git a/src/doc/en/installation/source.rst b/src/doc/en/installation/source.rst index b16fd8e7295..283c1919bec 100644 --- a/src/doc/en/installation/source.rst +++ b/src/doc/en/installation/source.rst @@ -288,132 +288,6 @@ WSL post-installation notes When the installation is complete, you may be interested in :ref:`sec-launching-wsl-post-installation`. -.. _section_cygwinprereqs: - -Cygwin prerequisite installation -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -Previous versions of Sage targeted the Windows platform using `Cygwin -`_. - -As of Sage 9.7, we no longer recommend attempting to build Sage on -Cygwin and instead suggest that users on Windows 10 and 11 switch to -installing Sage using Windows Subsystem for Linux (WSL), which gives a -better performance and user/developer experience than Cygwin. - -Users on hardware configurations that do not support running WSL, as -well as users on legacy versions of Windows such as Windows 8 may find -it necessary to build Sage on Cygwin. - -.. WARNING:: - - As of Sage 9.7, :trac:`known issues with several packages - ` - will prevent a successful installation. Users need to be prepared - to contribute to Sage by fixing these issues. - -Use the following instructions to get started. - -1. Download `the 64-bit version of Cygwin `_ - (do not get the 32-bit version; it is not supported by Sage). - -2. Run the ``setup-x86_64.exe`` graphical installer. Pick the default - options in most cases. At the package selection screen, use the - search bar to find and select at least the following packages: - ``bzip2``, ``coreutils``, ``curl``, ``gawk``, ``gzip``, ``tar``, ``wget``, ``git``. - -3. Start the Cygwin terminal and ensure you get a working bash prompt. - -4. Make sure the path of your Cygwin home directory does not contain - space characters. Also avoid building in home directories of Windows domain - users or in paths with capital letters. - - By default, your username in Cygwin is the same as your username in - Windows. This might contain spaces and other traditionally - non-UNIX-friendly characters, e.g., if it is your full name. You - can check this as follows:: - - $ whoami - Erik M. Bray - - This means your default home directory on Cygwin contains this - username verbatim; in the above example, ``/home/Erik M. Bray``. - It will save some potential trouble if you change your Cygwin home - directory to contain only alphanumeric characters, for example, - ``/home/embray``. The easiest way to do this is to first create - the home directory you want to use instead, then create an - ``/etc/passwd`` file specifying that directory as your home, as follows:: - - $ whocanibe=embray - $ mkdir /home/$whocanibe - $ mkpasswd.exe -l -u "$(whoami)" | sed -r 's,/home/[^:]+,/home/'$whocanibe, > /etc/passwd - - After this, close all Cygwin terminals (ensure nothing in - ``C:\cygwin64`` is running), then start a new Cygwin terminal and - your home directory should have moved. - - There are `other ways to do - this `_, - but the above seems to be the simplest that's still supported. - -5. (Optional) Although it is possible to install Sage's dependencies using the - Cygwin graphical installer, it is recommended to install the - `apt-cyg `_ - command-line package installer, which is used for the remainder of - these instructions. To install ``apt-cyg``, run:: - - $ curl -OL https://rawgit.com/transcode-open/apt-cyg/master/apt-cyg - $ install apt-cyg /usr/local/bin - $ rm -f apt-cyg - -6. Then, to install the current set of system packages known to work for building - Sage, run the following command (or use the graphical installer to - select and install these packages): - - .. literalinclude:: cygwin.txt - - Optional packages that are also known to be installable via system packages - include: - - .. literalinclude:: cygwin-optional.txt - -.. NOTE:: - - On Cygwin, at any point in time after building/installing software, - it may be required to "rebase" ``dll`` files. - Sage provides some scripts, located in :file:`$SAGE_LOCAL/bin`, to do so: - - - ``sage-rebaseall.sh``, a shell script which calls Cygwin's - ``rebaseall`` program. It must be run within a ``dash`` shell - from the :envvar:`SAGE_ROOT` directory after all other Cygwin - processes have been shut down and needs write-access to the - system-wide rebase database located at - :file:`/etc/rebase.db.i386`, which usually means administrator - privileges. It updates the system-wide database and adds Sage - dlls to it, so that subsequent calls to ``rebaseall`` will take - them into account. - - - ``sage-rebase.sh``, a shell script which calls Cygwin's ``rebase`` program - together with the ``-O/--oblivious`` option. - It must be run within a shell from :envvar:`SAGE_ROOT` directory. - Contrary to the ``sage-rebaseall.sh`` script, it neither updates the - system-wide database, nor adds Sage dlls to it. - Therefore, subsequent calls to ``rebaseall`` will not take them into account. - - - ``sage-rebaseall.bat`` (respectively ``sage-rebase.bat``), an MS-DOS batch - file which calls the ``sage-rebaseall.sh`` (respectively ``sage-rebase.sh``) - script. - It must be run from a Windows command prompt, after adjusting - :envvar:`SAGE_ROOT` to the Windows location of Sage's home directory, and, if - Cygwin is installed in a non-standard location, adjusting - :envvar:`CYGWIN_ROOT` as well. - - Some systems may encounter this problem frequently enough to make building or - testing difficult. - If executing the above scripts or directly calling ``rebaseall`` does not solve - rebasing issues, deleting the system-wide database and then regenerating it - from scratch, e.g., by executing ``sage-rebaseall.sh``, might help. - Other platforms ^^^^^^^^^^^^^^^ @@ -512,7 +386,7 @@ Installation steps If the log files are very large (and many are), then don't paste the whole file, but make sure to include any error messages. It would also be helpful to include the type of operating system - (Linux, macOS, Solaris, OpenSolaris, Cygwin, or any other system), + (Linux, macOS, Solaris, OpenSolaris, or any other system), the version and release date of that operating system and the version of the copy of Sage you are using. (There are no formal requirements for bug reports -- just send them; diff --git a/src/sage/cpython/__init__.py b/src/sage/cpython/__init__.py index cb262984002..0e4de12a8b1 100644 --- a/src/sage/cpython/__init__.py +++ b/src/sage/cpython/__init__.py @@ -15,42 +15,3 @@ if hasattr(_ExtensionFileLoader, 'get_source'): del _ExtensionFileLoader.get_source del _ExtensionFileLoader - -# Work around a Cygwin-specific bug caused by sqlite3; see -# https://github.com/sagemath/sage/issues/30157 and the docstring for -# fix_for_ticket_30157 -# Here we monkey-patch the sqlite3 module to ensure the fix is -# applied the very first time a connection is made to a sqlite3 -# database -import sys as _sys -if _sys.platform == 'cygwin': - def _patch_sqlite3(): - try: - from sage.misc.sage_ostools import fix_for_ticket_30157 - except ImportError: - # The module might not have been re-built yet; don't worry about it - # then - return - - import sqlite3 - import functools - orig_sqlite3_connect = sqlite3.connect - - @functools.wraps(orig_sqlite3_connect) - def connect(*args, **kwargs): - if fix_for_ticket_30157(): - raise RuntimeError( - 'patch for Github issue #30157 failed; please report this ' - 'bug to https://github.com/sagemath/sage/issues') - - # Undo the monkey-patch - try: - return orig_sqlite3_connect(*args, **kwargs) - finally: - sqlite3.connect = orig_sqlite3_connect - - sqlite3.connect = connect - - _patch_sqlite3() - del _patch_sqlite3 - del _sys diff --git a/src/sage/env.py b/src/sage/env.py index 9ab6b1e1864..549a0345504 100644 --- a/src/sage/env.py +++ b/src/sage/env.py @@ -252,19 +252,12 @@ def var(key: str, *fallbacks: Optional[str], force: bool = False) -> Optional[st # post process if DOT_SAGE is not None and ' ' in DOT_SAGE: - if UNAME[:6] == 'CYGWIN': - # on windows/cygwin it is typical for the home directory - # to have a space in it. Fortunately, users also have - # write privileges to c:\cygwin\home, so we just put - # .sage there. - DOT_SAGE = var("DOT_SAGE", "/home/.sage", force=True) - else: - print("Your home directory has a space in it. This") - print("will probably break some functionality of Sage. E.g.,") - print("the GAP interface will not work. A workaround") - print("is to set the environment variable HOME to a") - print("directory with no spaces that you have write") - print("permissions to before you start sage.") + print("Your home directory has a space in it. This") + print("will probably break some functionality of Sage. E.g.,") + print("the GAP interface will not work. A workaround") + print("is to set the environment variable HOME to a") + print("directory with no spaces that you have write") + print("permissions to before you start sage.") def sage_include_directories(use_sources=False): @@ -459,8 +452,6 @@ def uname_specific(name, value, alternative): aliases["LINUX_NOEXECSTACK"] = uname_specific("Linux", ["-Wl,-z,noexecstack"], []) - aliases["CYGWIN_SQLITE3_LIBS"] = uname_specific("CYGWIN", ["sqlite3"], - []) # LinBox needs special care because it actually requires C++11 with # GNU extensions: -std=c++11 does not work, you need -std=gnu++11 @@ -473,10 +464,6 @@ def uname_specific(name, value, alternative): if "LINBOX_CFLAGS" in aliases: aliases["LINBOX_CFLAGS"].append("-std=gnu++11") - # TODO: Remove Cygwin hack by installing a suitable cblas.pc - if os.path.exists('/usr/lib/libblas.dll.a'): - aliases["CBLAS_LIBS"] = ['gslcblas'] - try: aliases["M4RI_CFLAGS"].remove("-pedantic") except (ValueError, KeyError): diff --git a/src/sage/interfaces/mathematica.py b/src/sage/interfaces/mathematica.py index 9c64e9f4286..401339df62e 100644 --- a/src/sage/interfaces/mathematica.py +++ b/src/sage/interfaces/mathematica.py @@ -591,25 +591,6 @@ def _install_hints(self): that's the only ways at present). """ -# The following only works with Sage for Cygwin. - -# Create a file named "math", which you place in the Sage root -# directory. The file contained a single line, which was the -# path to the mathematica math.exe file. In my case, this might be: - -# C:/Program Files/Wolfram Research/Mathematica/4.0/math.exe - -# The key points are -# 1) there is a file named "math.exe", and it will generally be -# located in a place analogous to the above (depending on where -# Mathematica has been installed). This file is used only for -# launching the kernel with a text-based interface. -# 2) a cygwin batch file must be created which executes this file, -# which means using forward slashes rather than back slashes, -# and probably surrounding everything in quotes -# 3) this cygwin batch file must be on the path for Sage (placing -# it in /bin/ is an easy way to ensure this). - def eval(self, code, strip=True, **kwds): s = Expect.eval(self, code, **kwds) if strip: diff --git a/src/sage/libs/singular/singular.pyx b/src/sage/libs/singular/singular.pyx index 63a6e9b332f..cf0124e0a35 100644 --- a/src/sage/libs/singular/singular.pyx +++ b/src/sage/libs/singular/singular.pyx @@ -1776,14 +1776,12 @@ cdef init_libsingular() noexcept: else: os.environ["SINGULAR_BIN_DIR"] = dirname(singular_executable) - import platform - if not platform.system().startswith("CYGWIN"): - # reload the current module to force reload of libSingular (see #33446) - lib = str_to_bytes(__loader__.path, FS_ENCODING, "surrogateescape") - handle = dlopen(lib, RTLD_GLOBAL|RTLD_LAZY) - if not handle: - err = dlerror() - raise RuntimeError(f"Could not reload Singular library with RTLD_GLOBAL ({err})") + # reload the current module to force reload of libSingular (see #33446) + lib = str_to_bytes(__loader__.path, FS_ENCODING, "surrogateescape") + handle = dlopen(lib, RTLD_GLOBAL|RTLD_LAZY) + if not handle: + err = dlerror() + raise RuntimeError(f"Could not reload Singular library with RTLD_GLOBAL ({err})") # load SINGULAR siInit(lib) diff --git a/src/sage/misc/compat.py b/src/sage/misc/compat.py index 4ad6d3fe5ef..e374cf97aac 100644 --- a/src/sage/misc/compat.py +++ b/src/sage/misc/compat.py @@ -21,32 +21,7 @@ # Replacements (as needed) for Python stdlib functions to provide # better platform compatibility ################################################################# -if sys.platform == 'cygwin': - # find_library that works in cygwin adapted from - # http://cygwin-ports.svn.sourceforge.net/viewvc/cygwin-ports/ports/trunk/lang/python/2.5.2-ctypes-util-find_library.patch?revision=8245&view=markup - def _find_library(name): - libdirs = [] - if SAGE_LOCAL: - libdirs.append(os.path.join(SAGE_LOCAL, 'lib')) - libdirs.extend(['/usr/local/lib', '/usr/lib']) - for libdir in libdirs: - for libext in ['dll.a', 'a']: - implib = os.path.join(libdir, - 'lib{0}.{1}'.format(name, libext)) - if not os.path.exists(implib): - continue - - cmd = ['dlltool', '-I', implib] - - p = subprocess.Popen(cmd, stdout=subprocess.PIPE, - stderr=subprocess.PIPE, - universal_newlines=True) - - stdout, stderr = p.communicate() - - if p.returncode == 0: - return stdout.strip() -elif sys.platform == 'darwin': +if sys.platform == 'darwin': # On OSX non-standard library paths are not automatically found by the # find_library implementation without setting DYLD_LIBRARY_PATH; see # https://github.com/sagemath/sage/issues/21399#comment:25 diff --git a/src/sage/misc/cython.py b/src/sage/misc/cython.py index 268593e557d..2af3bc65943 100644 --- a/src/sage/misc/cython.py +++ b/src/sage/misc/cython.py @@ -78,10 +78,6 @@ def _standard_libs_libdirs_incdirs_aliases(): sequence_number = {} -# Only used on Cygwin; see note below about --enable-auto-image-base -CYTHON_IMAGE_BASE = 0x580000000 - - def cython(filename, verbose=0, compile_message=False, use_cache=False, create_local_c_file=False, annotate=True, sage_namespace=True, create_local_so_file=False): @@ -344,30 +340,6 @@ def cython(filename, verbose=0, compile_message=False, extra_compile_args = ['-w'] # no warnings extra_link_args = [] - if sys.platform == 'cygwin': - # Link using --enable-auto-image-base, reducing the likelihood of the - # new DLL colliding with existing DLLs in memory. - # Note: Cygwin locates --enable-auto-image-base DLLs in the range - # 0x4:00000000 up to 0x6:00000000; this is documented in heap.cc in the - # Cygwin sources, while 0x6:00000000 and up is reserved for the Cygwin - # heap. - # In practice, Sage has enough DLLs that when rebasing everything we - # use up through, approximately, 0x4:80000000 though there is nothing - # precise here. When running 'rebase' it just start from 0x2:00000000 - # (below that is reserved for Cygwin's DLL and some internal - # structures). - # Therefore, to minimize the likelihood of collision with one of Sage's - # standard DLLs, while giving ~2GB (should be more than enough) for - # Sage to grow, we base these DLLs from 0x5:8000000, leaving again ~2GB - # for temp DLLs which in normal use should be more than enough. - # See https://github.com/sagemath/sage/issues/28258 - # It should be noted, this is not a bulletproof solution; there is - # still a potential for DLL overlaps with this. But this reduces the - # probability thereof, especially in normal practice. - dll_filename = os.path.splitext(pyxfile)[0] + '.dll' - image_base = _compute_dll_image_base(dll_filename) - extra_link_args.extend(['-Wl,--disable-auto-image-base', - '-Wl,--image-base=0x{:x}'.format(image_base)]) ext = Extension(name, sources=[pyxfile], @@ -720,85 +692,3 @@ def cython_compile(code, **kwds): with open(tmpfile, 'w') as f: f.write(code) return cython_import_all(tmpfile, get_globals(), **kwds) - - -# THe following utility functions are used on Cygwin only to work around a -# shortcoming in ld/binutils; see https://github.com/sagemath/sage/issues/28258 -def _strhash(s): - """ - Implementation of the strhash function from binutils - - See - https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob;f=binutils/dllwrap.c;hb=d0e6d77b3fb64561ca66535f8ed6ca523eac923e#l449 - - This is used to re-implement support for --enable-auto-image-base with a - custom base address, which is currently broken in ld/binutils for PE32+ - binaries. - - TESTS:: - - sage: from sage.misc.cython import _strhash - sage: hex(_strhash('test.pyx')) - '0x3d99a20' - """ - - s = str_to_bytes(s) - h = 0 - l = len(s) - - for c in s: - h += c + (c << 17) - h ^= h >> 2 - - h += l + (l << 17) - h ^= h >> 2 - return h - - -def _compute_dll_image_base(filename, auto_image_base=None): - """ - Compute a DLL image base address from a hash of its filename, using the - same implementation as --enable-auto-image-base from binutils, but with - support for a custom minimum base address. - - See - https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob;f=ld/emultempl/pe.em;h=c18cb266beb23d14108044571382e0c7f4dbedb3;hb=d0e6d77b3fb64561ca66535f8ed6ca523eac923e#l919 - which implements this for PE32 images (for PE32+ images the support for - custom base addresses is broken). - - See also :trac:`28258`. - - TESTS:: - - sage: from sage.misc.cython import _compute_dll_image_base - sage: hex(_compute_dll_image_base('test.pyx')) - '0x59a200000' - - Test that given a random filename it is always below 0x6:00000000; in - principle this could fail randomly, but if it never fails then no problem. - We do not test for collisions since there is always a random chance of - collisions with two arbitrary filenames:: - - sage: from sage.misc.temporary_file import tmp_filename - sage: image_base = _compute_dll_image_base(tmp_filename(ext='.pyx')) - sage: hex(image_base) # random - '0x59a200000' - sage: image_base <= (0x600000000 - 0x10000) - True - """ - - if auto_image_base is None: - # The default, which can in principle be modified at runtime if needed - auto_image_base = CYTHON_IMAGE_BASE - - # See https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob;f=ld/emultempl/pep.em;h=dca36cc341aabfa2ec9db139b8ec94690165201a;hb=d0e6d77b3fb64561ca66535f8ed6ca523eac923e#l113 - # where move_default_addr_high=1 on Cygwin targets. - # This is actually derived from taking the upper limit 0x6:00000000 minus - # the lower limit 0x4:00000000 minus a gap of at least 0x10000. I don't - # know why but this is supposed to work: https://narkive.com/HCyWCS6h.23 - # Currently in binutils auto_image_base of 0x4:00000000 is hard-coded, so - # this comes out to 0x1:ffff0000, but here we must compute it. - NT_DLL_AUTO_IMAGE_MASK = 0x600000000 - auto_image_base - 0x10000 - - h = _strhash(filename) - return auto_image_base + ((h << 16) & NT_DLL_AUTO_IMAGE_MASK) diff --git a/src/sage/misc/inline_fortran.py b/src/sage/misc/inline_fortran.py index 5d4fc7831bb..82da6982bec 100644 --- a/src/sage/misc/inline_fortran.py +++ b/src/sage/misc/inline_fortran.py @@ -191,15 +191,11 @@ def eval(self, x, globals=None, locals=None): finally: os.chdir(old_cwd) - if sys.platform != 'cygwin': - # Do not delete temporary DLLs on Cygwin; this will cause - # future forks of this process to fail. Instead temporary DLLs - # will be cleaned up upon process exit - try: - shutil.rmtree(mytmpdir) - except OSError: - # This can fail for example over NFS - pass + try: + shutil.rmtree(mytmpdir) + except OSError: + # This can fail for example over NFS + pass for k, x in mod.__dict__.items(): if k[0] != '_': diff --git a/src/sage/misc/persist.pyx b/src/sage/misc/persist.pyx index 5bbc32a239a..ade86328454 100644 --- a/src/sage/misc/persist.pyx +++ b/src/sage/misc/persist.pyx @@ -1041,8 +1041,6 @@ def picklejar(obj, dir=None): ....: uid = -1 sage: if uid == 0: ....: print("OK (cannot test this as root)") - ....: elif sys.platform == 'cygwin': - ....: print("OK (cannot test this on Cygwin)") ....: else: ....: try: ....: sage.misc.persist.picklejar(1, dir + '/noaccess') diff --git a/src/sage/misc/sage_ostools.pyx b/src/sage/misc/sage_ostools.pyx index 0034f7a5d89..64e9c42809b 100644 --- a/src/sage/misc/sage_ostools.pyx +++ b/src/sage/misc/sage_ostools.pyx @@ -1,4 +1,3 @@ -# distutils: libraries = CYGWIN_SQLITE3_LIBS """ Miscellaneous operating system functions """ @@ -304,44 +303,3 @@ cdef class redirection: if self.close_dest: self.dest_file.close() self.dest_fd = -1 - - -IF PY_PLATFORM == 'cygwin': - from libc.stddef cimport wchar_t - - cdef extern from "Windows.h": - int SetDllDirectoryW(wchar_t* lpPathName) - - cdef extern from "sqlite3.h": - int sqlite3_initialize() - - def fix_for_ticket_30157(): - """ - Cygwin-only workaround for an issue caused by the sqlite3 library. - - See :trac:`30157`. - - The issue here is that when the sqlite3 library is first initialized - it modifies Windows' default DLL search path order, which can possibly - break the correct search path for subsequent DLL loads. - - This workaround ensures that the sqlite3 library is initialized very - early on (this does not add any significant overhead) and then - immediately undoes its deleterious effects. In particular, calling - SetDllDirectoryW(NULL) restores the default DLL search path. - - To be clear, there's no reason sqlite3 needs this to function - correctly; it's just a poorly-considered hack that attempted to work - around a problem that doesn't affect us. - - Returns 0 if it succeeeds or a non-zero value if not. - """ - - ret = sqlite3_initialize() - - if ret != 0: - # Library initialization failed for some reason - return ret - - # SetDllDirectory returns 1 if it succeeds. - return not SetDllDirectoryW(NULL) diff --git a/src/sage/misc/sageinspect.py b/src/sage/misc/sageinspect.py index 0fa8551a271..4d7c3f9c19c 100644 --- a/src/sage/misc/sageinspect.py +++ b/src/sage/misc/sageinspect.py @@ -178,8 +178,6 @@ def loadable_module_extension(): r""" Return the filename extension of loadable modules, including the dot. - It is '.dll' on cygwin, '.so' otherwise. - This function is deprecated. EXAMPLES:: diff --git a/src/sage/misc/timing.py b/src/sage/misc/timing.py index cc2753e50b8..5e5c49b9594 100644 --- a/src/sage/misc/timing.py +++ b/src/sage/misc/timing.py @@ -32,8 +32,7 @@ def cputime(t=0, subprocesses=False): ``cputime()`` implementation into account. The measurement for the main Sage process is done via a call to - :func:`resource.getrusage()`, so it avoids the wraparound problems in - :func:`time.clock()` on Cygwin. + :func:`resource.getrusage()`. INPUT: diff --git a/src/sage/misc/viewer.py b/src/sage/misc/viewer.py index 439dedc5e75..85ff09aa341 100644 --- a/src/sage/misc/viewer.py +++ b/src/sage/misc/viewer.py @@ -73,19 +73,6 @@ def default_viewer(viewer=None): PDF_VIEWER = BROWSER PNG_VIEWER = BROWSER - elif os.uname()[0][:6] == 'CYGWIN': - # Windows is also easy, since it has a system for - # determining what opens things. However, on Cygwin we - # should access this through the 'cygstart' program rather - # than trying to run rundll32 directly, which on newer Windows versions - # has security implications - # Indeed, on Sage for Windows, BROWSER is set by default to cygstart, - # so we just canonize that here - BROWSER = os.environ.get('BROWSER', 'cygstart') - DVI_VIEWER = BROWSER - PDF_VIEWER = BROWSER - PNG_VIEWER = BROWSER - elif have_program('xdg-open'): # On other OS'es try xdg-open if present. # See http://portland.freedesktop.org/xdg-utils-1.0. diff --git a/src/sage_docbuild/utils.py b/src/sage_docbuild/utils.py index 28677d9b6c4..d9c1109850e 100644 --- a/src/sage_docbuild/utils.py +++ b/src/sage_docbuild/utils.py @@ -107,10 +107,7 @@ def build_many(target, args, processes=None): also require significant cleanup. It also avoids starting new processes from a pthread, which results in at - least two known issues: - - * On versions of Cygwin prior to 3.0.0 there were bugs in mmap handling - on threads (see :trac:`27214#comment:25`). + least one known issue: * When PARI is built with multi-threading support, forking a Sage process from a thread leaves the main Pari interface instance broken @@ -136,8 +133,7 @@ def build_many(target, args, processes=None): Processed task ... Processed task ... - Unlike the first version of ``build_many`` which was only intended to get - around the Cygwin bug, this version can also return a result, and thus can + This version can also return a result, and thus can be used as a replacement for ``multiprocessing.Pool.map`` (i.e. it still blocks until the result is ready):: diff --git a/src/sage_setup/library_order.py b/src/sage_setup/library_order.py index 9ae0d2579a7..01b4ab0ff03 100644 --- a/src/sage_setup/library_order.py +++ b/src/sage_setup/library_order.py @@ -6,8 +6,7 @@ # be put *before* any library it links to. Cython allows # defining libraries using "# distutils: libraries = LIB". However, if # there are multiple libraries, the order is undefined so we need to -# manually reorder the libraries according to this list. The order is -# important in particular for Cygwin. Any libraries which are not +# manually reorder the libraries according to this list. Any libraries which are not # listed here will be added at the end of the list (without changing # their relative order). from sage.env import cython_aliases, default_required_modules, default_optional_modules diff --git a/src/sage_setup/setenv.py b/src/sage_setup/setenv.py index 7ff9a05ef2e..b868360d612 100644 --- a/src/sage_setup/setenv.py +++ b/src/sage_setup/setenv.py @@ -45,5 +45,4 @@ def setenv(): # not done: PATH prepend of SAGE_SRC/bin, SAGE_ROOT/build/bin # not done: MACOSX_DEPLOYMENT_TARGET # not done: PATH prepend for ccache & CCACHE_BASEDIR - # not done: Cygwin LD_LIBRARY_PATH # not done: OPENBLAS_NUM_THREADS diff --git a/src/setup.cfg.m4 b/src/setup.cfg.m4 index 41ac1c08bfa..9f7da4442ef 100644 --- a/src/setup.cfg.m4 +++ b/src/setup.cfg.m4 @@ -85,10 +85,6 @@ scripts = bin/sage-num-threads.py bin/sage-preparse bin/sage-python - bin/sage-rebase.bat - bin/sage-rebase.sh - bin/sage-rebaseall.bat - bin/sage-rebaseall.sh bin/sage-run bin/sage-run-cython bin/sage-startuptime.py diff --git a/tox.ini b/tox.ini index e068204f603..6c928aa2623 100644 --- a/tox.ini +++ b/tox.ini @@ -699,10 +699,6 @@ commands = local-conda: bash -c 'case "{env:SKIP_SYSTEM_PKG_INSTALL:}" in 1|y*|Y*);; *) {env:SETENV} && {env:CONDA_PREFIX}/bin/conda update -n base --yes conda;; esac' local-conda: bash -c 'export PATH="build/bin:$PATH" && PACKAGES=$(sage-get-system-packages conda $(sage-package list {env:SAGE_PACKAGE_LIST_ARGS}) {env:ALL_EXTRA_SAGE_PACKAGES}); {env:SETENV} && {env:CONDA_PREFIX}/bin/conda install --yes --quiet $PACKAGES' # - # local-cygwin-choco: Use choco to install cygwin packages - # - local-cygwin-choco: bash -c 'export PATH="build/bin:$PATH" && PACKAGES=$(sage-get-system-packages {env:SYSTEM} $(sage-package list {env:SAGE_PACKAGE_LIST_ARGS}) _bootstrap); /cygdrive/c/ProgramData/Chocolatey/bin/choco install $PACKAGES --source cygwin' - # # local-root: Assume we are root, run the system package commands # local-sudo: Use sudo to run the system package commands as root #