Commit Graph

377 Commits

Author SHA1 Message Date
Amin Yahyaabadi cc30e9b1d5
fix: ensure existence of the pipx folders 2024-01-24 12:46:28 -08:00
Amin Yahyaabadi 5f8ace2495
fix: add pipxBinDir to PATH 2024-01-24 12:12:19 -08:00
Amin Yahyaabadi f3a5dc3f05
fix: fix PIPX_HOME on Windows and MacOS 2024-01-22 21:02:38 -08:00
Amin Yahyaabadi 1a3ed1a856
fix: require ~ in untildifyUser 2024-01-22 16:25:47 -08:00
Amin Yahyaabadi c85b694b1c
fix: install to the user home when using pipx as sudo 2024-01-22 14:07:36 -08:00
Amin Yahyaabadi 8b2ab43823
fix: add fs/promises compat for node 12 2024-01-22 01:54:10 -08:00
Kefu Chai 3d4cc40549 fix: use higher priority when installing llvm alternatives
before this change, gcc and g++ are installed using `updateAptAlternatives()`
with the same priority of 40 when they are installed along with
ld and libstdc++ as the dependencies of clang and llvm. but both
gcc and clang are installed using the same priority of 40 on ubuntu,
and the same applies to g++ and clang++. this renders it impossible
to use the default compilers of cc and cxx when clang/llvm is installed
using setup-cpp on an ubuntu host, as gcc is always prefered over
clang by the update-alternatives, as their priorities are identical.

in this change, the "priority" parameter is added to the setupGcc(),
so that we can specify a different priority when installing llvm.
strictly speaking, this is not necessary. as we can just use a higher
priority when calling updateAptAlternatives() in llvm/llvm.ts. but by
making it more explicit, we can ensure that we always prefer llvm over
gcc when installing llvm.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2024-01-22 14:25:47 +08:00
Amin Yahyaabadi 6a37ff7253 fix: fix grantUserWriteAccess for cpprc 2023-09-11 11:47:10 -07:00
Amin Yahyaabadi 4f69ae3519 feat: use grantUserWriteAccess from admina and await it 2023-09-11 11:05:16 -07:00
Amin Yahyaabadi 99191e7285 fix: async grantUserWriteAccess 2023-09-07 13:47:30 -07:00
Amin Yahyaabadi ff2b1155f8 fix: fix memoization for promises 2023-09-07 13:46:36 -07:00
Amin Yahyaabadi 47a297a43e fix: use pip index versions to check the existence of a package 2023-09-07 11:27:34 -07:00
Amin Yahyaabadi af4a6f813e fix: check for pip existence outside the try/catch loop 2023-09-07 11:04:26 -07:00
Amin Yahyaabadi 3fa4b5925a fix: use the system package manager instead of pip for standard modules 2023-09-06 21:38:08 -07:00
Amin Yahyaabadi 678aa3361f fix: use an info level message for reboot requirements for choco 2023-09-06 21:29:38 -07:00
Amin Yahyaabadi 6af571471a fix: log the pip fallback error 2023-09-06 21:29:20 -07:00
Amin Yahyaabadi 62674fbcdd tests: skip some msvc installation tests based on the Windows version 2023-09-01 11:23:25 -07:00
Amin Yahyaabadi 42d3ea447e fix: add system package manager fallback for pip packages 2023-09-01 03:44:04 -07:00
Amin Yahyaabadi 0916dc5cfb fix: fix library installation via pip + fix conan 2023-09-01 03:28:05 -07:00
Amin Yahyaabadi 65c4b0f5dc fix: fix checking for pipx existence 2023-09-01 03:10:24 -07:00
Amin Yahyaabadi 512202e7f4 fix: handle upgrade/user flags for pipx 2023-09-01 03:02:09 -07:00
Amin Yahyaabadi 4e60284097 feat: install python packages using pipx to avoid conflicts with system 2023-09-01 02:49:28 -07:00
Amin Yahyaabadi 1f59ba33f1 fix: use user flag when installing packages via pip 2023-09-01 02:36:39 -07:00
Amin Yahyaabadi 307b9178a3 fix: prevent adding /usr/bin if it is already on the PATH 2023-08-31 22:42:47 -07:00
Amin Yahyaabadi f0d23edbf1 fix: update dependencies 2023-07-24 13:20:13 -07:00
abeimler 9af05511cb Merge branch 'feature/cross-mingw' of https://github.com/abeimler/setup-cpp into feature/cross-mingw 2023-07-20 12:29:20 +02:00
abeimler f849ee113e fix: docker mingw build (test) 2023-07-20 12:26:09 +02:00
Amin Yahyaabadi 69ae3d5dd5 fix: report errors if yay is needed but it is not installed 2023-07-20 03:12:39 -07:00
abeimler a884ad83aa Merge branch 'master' of https://github.com/abeimler/setup-cpp into feature/cross-mingw 2023-07-19 23:31:19 +02:00
Amin Yahyaabadi 5f5040c0c8 fix: handle libc++ conflicting packages for LLVM 2023-07-17 22:51:54 -07:00
Amin Yahyaabadi 2e790802d0 fix: fix conflicts between clang apt packages 2023-07-17 14:21:12 -07:00
Amin Yahyaabadi da1eb59304 fix: install clang-tidy and clang-format as well 2023-07-17 13:29:53 -07:00
Amin Yahyaabadi e7304e1143 fix: install the packages needed for the llvm installer 2023-07-17 11:01:22 -07:00
Amin Yahyaabadi 9fa897444d fix: fix: dnf search 2023-07-16 23:42:25 -07:00
Amin Yahyaabadi 41b2cf629a feat: support installing multiple dnf packages 2023-07-16 03:12:24 -07:00
Amin Yahyaabadi 70a091c663 feat: support installing llvm via apt on Ubuntu 2023-07-15 21:46:28 -07:00
Amin Yahyaabadi 3a3a6aeea9 fix: fix nala apt key addition 2023-07-15 18:53:44 -07:00
Amin Yahyaabadi 6326464ed5 fix: nala installation on ubuntu 2023-07-15 18:33:56 -07:00
Amin Yahyaabadi 0b443e82cc fix: relax and coerce the found pip version 2023-07-15 16:16:34 -07:00
Amin Yahyaabadi 471b55347a fix: add UTF-8 locale for Nala if it is not already defined 2023-07-06 12:35:54 -07:00
Amin Yahyaabadi 4cbbb57e1f feat: upgrade setup-tools and refactor package installer 2023-07-04 12:29:30 -07:00
Amin Yahyaabadi 67a5cc536b fix: do not pani on addAptKey server errors 2023-06-28 16:45:32 -07:00
Amin Yahyaabadi f708497511 fix: memoize ubuntuVersion and use it everywhere 2023-06-28 16:06:31 -07:00
Amin Yahyaabadi cfa0cc5326 feat: support ubuntu version on Ubuntu-based distros 2023-06-28 16:04:33 -07:00
Amin Yahyaabadi f6ebfc1d77 fix: memoize addPythonBaseExecPrefix 2023-06-28 15:22:03 -07:00
Amin Yahyaabadi 08aaab1859 feat: add execPaths when installing python 2023-06-28 15:16:31 -07:00
Amin Yahyaabadi 6637fda894 feat: install pip and wheel in all cases 2023-06-28 15:10:33 -07:00
Amin Yahyaabadi 0f6b349a1e feat: more robust pip installation and upgrade 2023-06-28 14:45:15 -07:00
Amin Yahyaabadi 9c18ad87a1 fix: fix apt-cache show and use gcc 11 on Ubuntu 20 2023-05-24 18:45:01 -07:00
Amin Yahyaabadi 5e5a8d08d2 fix: use apt-cache show instead of apt-get show 2023-05-24 16:23:17 -07:00
Amin Yahyaabadi 11b44434f5 fix: fix all the linting errors 2023-05-24 14:57:08 -07:00
Amin Yahyaabadi 36a5b861ce feat: fallback to version-less package on arch if not found 2023-05-24 14:12:42 -07:00
Amin Yahyaabadi a0488f7712 feat: fallback to version-less package on apt if not found 2023-05-24 13:18:24 -07:00
Amin Yahyaabadi b4b0e08b92 feat: print the supported versions when throwing errors 2023-05-23 21:19:15 -07:00
Amin Yahyaabadi 00c09d28e6 fix: update path-exists 2023-04-23 01:09:38 -07:00
Amin Yahyaabadi 7052a18b1c Merge branch 'master' into esm 2023-04-23 01:03:19 -07:00
Amin Yahyaabadi ea04bfe6af fix: replace npmcli/ci-detect with ci-info 2023-04-22 02:31:04 -07:00
Amin Yahyaabadi d713a6703d fix: update execa 2023-04-22 02:19:33 -07:00
Amin Yahyaabadi 4e183b6107 fix: fix bug in the Windows local PATH variable name 2023-01-15 01:48:12 -08:00
abeimler 43fd6604a1 feat: add mingw cross compiler
* add docker mingw tests
* add node16 test
2022-12-29 22:00:49 +01:00
Amin Yahyaabadi ecd2b40e2e chore: 0.24.1 [skip test] 2022-12-21 14:21:10 -08:00
Amin Yahyaabadi 84ecfb4b29 fix: retry tool download process in case of errors 2022-12-21 13:46:00 -08:00
Amin Yahyaabadi bd369094f9 fix: fix llvm 15 on ubuntu - add logging for extraction 2022-12-06 21:56:16 -08:00
Amin Yahyaabadi 757782e485 fix: parallelize initApt 2022-11-22 22:17:42 -08:00
Amin Yahyaabadi 5528c08f49 fix: parallelize apt update alternatives 2022-11-22 22:11:47 -08:00
Amin Yahyaabadi 5505d67258 fix: escape regex of the name-version apt package 2022-11-22 21:51:51 -08:00
Amin Yahyaabadi dac72316df feat: parallelize the apt package installation chunks 2022-11-22 21:33:06 -08:00
Amin Yahyaabadi eea16aa8c7 fix: down-grade path-exists to v4.0.0 due to node:fs usage 2022-11-22 20:59:40 -08:00
Amin Yahyaabadi b625cd0632 perf: make updateAlternatives async 2022-11-22 20:52:02 -08:00
Amin Yahyaabadi ebd90dd38d perf: parallelized checking of the file existence 2022-11-22 20:51:18 -08:00
Amin Yahyaabadi 7f6189b28f fix: fix eslint errors [skip ci] 2022-11-20 23:34:33 -08:00
Amin Yahyaabadi d20e347c91 feat: de-duplicate cpprc 2022-11-20 23:14:33 -08:00
Amin Yahyaabadi 70c228ecc9 fix: quote the environment variables before adding 2022-11-20 22:45:45 -08:00
Amin Yahyaabadi 66a38eb0fb fix: fix getting the brew path on linux 2022-11-20 21:26:31 -08:00
Amin Yahyaabadi ded42d5c2f fix: make cpprc editable by the user 2022-11-20 21:19:18 -08:00
Amin Yahyaabadi 04867b97c5 fix: use which if the pip package executable was not found 2022-11-04 19:56:07 -07:00
Amin Yahyaabadi e376f26cd2 fix: choose the python binary directory based on the existence 2022-11-04 19:04:04 -07:00
Amin Yahyaabadi e9be714c29 fix: refactor setupPythonAndPip function 2022-11-04 15:01:13 -07:00
Amin Yahyaabadi 623216a193 fix: handle the MacOS/Linux exec prefix paths 2022-11-04 14:53:28 -07:00
Amin Yahyaabadi 2dde08dd51 fix: add the python base_exec_prefix path for all OS 2022-11-04 13:57:52 -07:00
Amin Yahyaabadi 23a09cba35 chore: make ubuntuVersion exception safe 2022-11-02 20:06:36 -07:00
Amin Yahyaabadi b9c2f3b391 chore: break the code for handling versions 2022-11-02 20:01:42 -07:00
Amin Yahyaabadi f7e3122b1e Merge branch 'master' into pr/135 2022-10-28 23:48:23 -07:00
abeimler 8494f65eca fix: add workaround for arch package conflict (#125)
* fix: update arch database
* add cppcheck in docker tests
2022-10-28 22:54:02 +02:00
Amin Yahyaabadi f4e3f220db fix: fix the llvm 15 link for linux + test the installation 2022-10-13 16:47:00 -07:00
Amin Yahyaabadi 357e710629 feat: use admina instead of root-tools
https://github.com/aminya/admina
2022-08-26 03:09:19 -07:00
Amin Yahyaabadi 2c6bfca888 fix: import delimiter from path 2022-08-24 00:24:50 -07:00
Amin Yahyaabadi 3b6093bb8a fix: remove extension-tools and path in favor of patha 2022-08-20 15:38:51 -07:00
Amin Yahyaabadi 647dc69eaf fix: use is-url-online instead of get-works
https://github.com/spa5k/is-url-online/pull/40
2022-08-09 00:13:35 -07:00
Amin Yahyaabadi 6c025078c9 feat: support installing powershell 2022-08-08 01:40:29 -07:00
Amin Yahyaabadi 79eae5db23 feat: add ci-log package 2022-08-08 01:22:28 -07:00
Amin Yahyaabadi 4d3cf92471 feat: add get-works package to validate the URLs 2022-08-08 00:36:24 -07:00
Amin Yahyaabadi 0bbdeadfbd feat: use is-link-working to test the urls 2022-08-07 23:46:11 -07:00
Amin Yahyaabadi edc37d25c6 Revert "fix: use is-url-online to validate the download links"
This reverts commit 232af3c141.
2022-08-07 21:42:31 -07:00
Amin Yahyaabadi 232af3c141 fix: use is-url-online to validate the download links 2022-08-07 21:32:57 -07:00
Amin Yahyaabadi b38bf66f56 feat: add user-access package 2022-08-07 21:03:16 -07:00
Amin Yahyaabadi b4a83891fb feat: add untildify-user package 2022-08-07 20:04:59 -07:00
Amin Yahyaabadi 6dd9d766bb fix: add types for escape-path-with-spaces
Use the types from https://github.com/jy95/escape-path-with-spaces/pull/14
2022-08-07 19:23:55 -07:00
Amin Yahyaabadi 3d08c16e03 fix: fix github-actions detection
Use the types from https://github.com/npm/ci-detect/pull/31
2022-08-07 19:13:40 -07:00
Amin Yahyaabadi f8515dfc8b fix: set shell: true for execRoot 2022-08-07 18:52:03 -07:00