diff --git a/.gitattributes b/.gitattributes index 25dba441..51bcfebe 100644 --- a/.gitattributes +++ b/.gitattributes @@ -17,3 +17,4 @@ *.rar binary *.lib binary *.a binary +*.ico binary \ No newline at end of file diff --git a/filesystem/PKGBUILD b/filesystem/PKGBUILD index f84a0316..eb135eae 100644 --- a/filesystem/PKGBUILD +++ b/filesystem/PKGBUILD @@ -5,7 +5,7 @@ pkgname=filesystem pkgver=2021.03 -pkgrel=5 +pkgrel=6 pkgdesc='Base filesystem' arch=('i686' 'x86_64') license=('BSD') @@ -28,6 +28,8 @@ source=('bash.bash_logout' 'mingw32.ico' 'mingw64.ico' 'msys2.ico' + 'ucrt64.ico' + 'clang64.ico' 'msys2_shell.cmd' 'msystem' 'nsswitch.conf' @@ -56,16 +58,18 @@ sha256sums=('742a7d66b7a5ebd2b8461728c5b44a46b2305fd2116208eecae5f45828938ea0' '2972d2f333a3b090aaaff4a546b16edf121cbb3e159f32a9ebdb3d125243a7d6' '5a51474700064f5c4527e4423a866ac957332f7e932675ab5fa6a419b47b1834' '387ca1e86c1a18a143eb077ca194ad44c0a2faf98795a0d437f2d210d5a6df18' - '40a10a03382b93f196464b11ec179f903b9af6d281a9327472b4fb9693b0ca8f' - 'be368cc325f33db9035dc4839bb967bebe9b896bdd7582749124245ccbc38c9f' - '7d6994d7caf52a459b562cfb0da1d758a4b7bca478d1df00de3a96686e59008e' - 'ff9edfe41466ef9d2e3adb8dd4f395ebd76bda14448c9a6e9cec5f46c1d81f27' + 'f8f1b5943d385e8a7e3b5a4a2c7d64004108c94c17b2f936016e2ae50bdb65af' + '91b4a790aad38a102565f0cfcba6c0e6d274f6cda0b37b128d9cc43c5ad6b24d' + '793b9450a1a59a6c294e51fd0c2a47090d68c68ff2f33a25a11b45f6408c3917' + '733e97cbb823773e1a08a91a41035a7692bc0ff270d3c894224911b4b091db44' + '56d4080c15dff89a6263f3d5f9aa68849b2062179cabd6d78edfe0e3af6bf64a' + '71940697f1c9d7dded0f773fefc517d2f5b5921a9634d10246e6a45a598068d7' '8f4fdf609e18de55e88684d0ee471ac9a8c5dcf126cc63c72d792f9e45789eb1' '91f1f918cf13deab0124082086e990786113b0e710dbda4678d8fc14905ad94d' '6446359419e13310d74ab54086271acc2f4ed0dfe97a474cdd06cd7c55ee59a4' '6c0ca979c7b146b3750103b1296a399764f4e1b222ee091d3aa072b6da16c1a5' 'cbec90c9403826bf6d8dd1fed16240b9d8695ec15df5dcdab7e485bb46c016ab' - '2087410bf7ead6fa586628ea7fc97c53f5ea3ce16d1ee91ecc15ccc18ab53094' + 'ed6c5d64be516a6d29131a5d8fe3d8c3f0d3fd21bffafdd85690a8818336c357' 'f63241cc56aa7b7ec6962d19991d211b4e1641b78ba5226835118ab493830a8b' 'e96c1f54ffff792e738aa032815c82c30821b0683806e5ed0ba2a759db2fd494' 'a5b9c91241d5e1f0bb461119b3e36f5f661ff6f0758e63e756275fa5cb31a410' @@ -117,6 +121,8 @@ package() { install -m644 ${srcdir}/mingw32.ico mingw32.ico install -m644 ${srcdir}/mingw64.ico mingw64.ico + install -m644 ${srcdir}/ucrt64.ico ucrt64.ico + install -m644 ${srcdir}/clang64.ico clang64.ico install -m644 ${srcdir}/msys2.ico msys2.ico install -m755 ${srcdir}/msys2_shell.cmd msys2_shell.cmd diff --git a/filesystem/clang64.ico b/filesystem/clang64.ico new file mode 100644 index 00000000..f051668c Binary files /dev/null and b/filesystem/clang64.ico differ diff --git a/filesystem/mingw32.ico b/filesystem/mingw32.ico index ad67bed3..fff09962 100644 Binary files a/filesystem/mingw32.ico and b/filesystem/mingw32.ico differ diff --git a/filesystem/mingw64.ico b/filesystem/mingw64.ico index 03502f45..76906b60 100644 Binary files a/filesystem/mingw64.ico and b/filesystem/mingw64.ico differ diff --git a/filesystem/msys2.ico b/filesystem/msys2.ico index baea305a..ee73a7da 100644 Binary files a/filesystem/msys2.ico and b/filesystem/msys2.ico differ diff --git a/filesystem/msys2_shell.cmd b/filesystem/msys2_shell.cmd index c7532de8..e21dcf4d 100644 --- a/filesystem/msys2_shell.cmd +++ b/filesystem/msys2_shell.cmd @@ -40,6 +40,7 @@ if "x%~1" == "x-msys2" shift& set /a msys2_shiftCounter+=1& set MSYSTEM=MSYS& go if "x%~1" == "x-mingw32" shift& set /a msys2_shiftCounter+=1& set MSYSTEM=MINGW32& goto :checkparams if "x%~1" == "x-mingw64" shift& set /a msys2_shiftCounter+=1& set MSYSTEM=MINGW64& goto :checkparams if "x%~1" == "x-ucrt64" shift& set /a msys2_shiftCounter+=1& set MSYSTEM=UCRT64& goto :checkparams +if "x%~1" == "x-clang64" shift& set /a msys2_shiftCounter+=1& set MSYSTEM=CLANG64& goto :checkparams if "x%~1" == "x-mingw" shift& set /a msys2_shiftCounter+=1& (if exist "%WD%..\..\mingw64" (set MSYSTEM=MINGW64) else (set MSYSTEM=MINGW32))& goto :checkparams rem Console types if "x%~1" == "x-mintty" shift& set /a msys2_shiftCounter+=1& set MSYSCON=mintty.exe& goto :checkparams @@ -101,6 +102,12 @@ if "%MSYSTEM%" == "MINGW32" ( ) else if "%MSYSTEM%" == "MINGW64" ( set "CONTITLE=MinGW x64" set "CONICON=mingw64.ico" +) else if "%MSYSTEM%" == "UCRT64" ( + set "CONTITLE=MinGW UCRT x64" + set "CONICON=ucrt64.ico" +) else if "%MSYSTEM%" == "CLANG64" ( + set "CONTITLE=MinGW Clang x64" + set "CONICON=clang64.ico" ) else ( set "CONTITLE=MSYS2 MSYS" set "CONICON=msys2.ico" @@ -191,8 +198,8 @@ echo Usage: echo %~1 [options] [login shell parameters] echo. echo Options: -echo -mingw32 ^| -mingw64 ^| -ucrt64 ^| -msys[2] Set shell type -echo -defterm ^| -mintty ^| -conemu Set terminal type +echo -mingw32 ^| -mingw64 ^| -ucrt64 ^| -clang64 ^| -msys[2] Set shell type +echo -defterm ^| -mintty ^| -conemu Set terminal type echo -here Use current directory as working echo directory echo -where DIRECTORY Use specified DIRECTORY as working diff --git a/filesystem/shell b/filesystem/shell index 3484b7f8..7b8bb701 100644 --- a/filesystem/shell +++ b/filesystem/shell @@ -36,12 +36,12 @@ fi # Argument validation -if [[ "${BASH_SOURCE}" != "${0}" && ! "${1}" =~ ^(mingw32|mingw64|msys)$ ]]; then +if [[ "${BASH_SOURCE}" != "${0}" && ! "${1}" =~ ^(mingw32|mingw64|ucrt64|clang64|msys)$ ]]; then echo "Unrecognized shell type ${1}" return 1 fi -if [[ "${BASH_SOURCE}" = "${0}" && "${1}" =~ ^(mingw32|mingw64|msys)$ ]]; then +if [[ "${BASH_SOURCE}" = "${0}" && "${1}" =~ ^(mingw32|mingw64|ucrt64|clang64|msys)$ ]]; then echo "Cannot switch to ${1} shell without sourcing" exit 1 fi @@ -79,6 +79,8 @@ else /usr/bin/cmd) winpty "${@}" || exit ;; /mingw32/*) winpty "${@}" || exit ;; /mingw64/*) winpty "${@}" || exit ;; + /ucrt64/*) winpty "${@}" || exit ;; + /clang64/*) winpty "${@}" || exit ;; *) "${@}" || exit ;; esac exit 0 diff --git a/filesystem/ucrt64.ico b/filesystem/ucrt64.ico new file mode 100644 index 00000000..2753144f Binary files /dev/null and b/filesystem/ucrt64.ico differ