1
0
mirror of https://github.com/skeeto/w64devkit.git synced 2025-07-02 01:41:38 +03:00
Commit Graph

252 Commits

Author SHA1 Message Date
f78b788895 Reintroduce curl to download source tarballs
By downloading tarballs within the container, Docker will cache the
results and avoid redownloading them later.
2021-08-31 14:01:26 -04:00
7b415e6ee2 Update to the newly-released Debian Bullseye 2021-08-31 13:22:50 -04:00
47a35d126c Remove curl, download source tarballs with Docker
There is no benefit to downloading the tarballs within the container
using curl, especially since it doesn't have access to host certificates
and such.
2021-08-31 13:22:48 -04:00
3e3a9790fe Merge all ARG instruction into one instruction
This reduces the total number of layers which should help make it a
little more efficient, as well as keep things below the depth limit.
2021-08-31 13:22:43 -04:00
d49ce3a328 Upgrade to busybox-w32 FRP-4264-gc79f13025
* New programs: bc, crc32, free, nproc, sync, uptime
* Add Bash-style process substitution (i.e. <(...)) to the shell
* Improve shell stability
* ANSI escape support for printf

The 002 patch must be removed on the next update since it will already
be included.
2021-08-01 14:28:13 -04:00
696d1fc08e Disable all Git line-ending conversions
This misfeature corrupts checkouts on Windows. Closes #9 and #10.
2021-07-30 17:25:59 -04:00
f533388d2c Update to GCC 11.2.0 2021-07-28 07:48:18 -04:00
8260e65129 Upgrade to Binutils 2.37
This upgrade includes a patch that fixes a bug introduced at the last
minute on the upstream 2.37 branch. I submitted this patch upstream so
hopefully it will be fixed in a future release. If so, the patch should
be removed from w64devkit.
2021-07-18 17:07:37 -04:00
c78efd8a49 Bump to 1.8.0 v1.8.0 2021-06-30 12:05:01 -04:00
f52187c806 Always run gvim in the "background"
This behavior is closer to Vim's behavior on other platforms.
2021-06-05 07:54:31 -04:00
b5504f79c4 Include Mingw-w64's gendef as a new tool
I also considered genlib, but it's redundant with dlltool and of
insufficient quality.
2021-06-03 16:16:53 -04:00
705818aea9 Upgrade to GDB 10.2 2021-05-22 13:35:14 -04:00
0aad55eea2 Also set *_FOR_TARGET when building GCC
Due to GCC's upside-down configuration, the desired build options were
not being actually being applied to the cross-compiler itself. This fix
shaves another 7MB off the distribution zip.
2021-05-21 18:33:47 -04:00
b72e7a9f3d busybox: Disable tab-completion on empty input
Discovering all commands in PATH is painfully expensive (typically
several seconds) on Windows where file access is slow, so don't do it.
Worse, due to an alt-tab handling bug in the Windows console it's very
easy to activate this completion by accident.

This patch makes the BusyBox shell much more ergonomic for alt-tab heavy
workflows on Windows.
2021-05-11 22:33:29 -04:00
17c105d77e Bump to 1.7.0 v1.7.0 2021-05-09 11:17:25 -04:00
985bab3a68 Upgrade to Mingw-w64 v8.0.2
Closes #2.
2021-05-09 11:17:22 -04:00
2c0d69b22b Remove Fortran information from the README
Even GCC 11 GFortran remains incompatible with Binutils 2.36.1. Since
this is unlike to be fixed anytime soon, just drop Fortran support.
2021-04-27 16:40:33 -04:00
d232c0867d Update to GCC 11.1.0 2021-04-27 12:44:33 -04:00
098df95b1d Update to GCC 10.3.0 2021-04-08 09:18:02 -04:00
27cbe84019 Downgrade to busybox-w32 FRP-3812-g12e14ebba
There's a regression in FRP-3902-g61e53aa93 that causes line editing to
get into a bad state and accumlate garbage characters. This release is
not in a usable condition, so revert to the previous release.
2021-03-07 12:27:42 -05:00
f9194ec246 Upgrade to busybox-w32 FRP-3902-g61e53aa93
This introduces four new programs: bc, free, nproc, uptime. It also
significantly improves ANSI escape support for printf.

The SHELL=dash is a workaround for a bug in GNU Make. A patch has been
submitted upstream, so hopefully this can be removed later. The patch:
https://lists.sr.ht/~skeeto/public-inbox/patches/20756
2021-03-03 14:34:29 -05:00
626212f1b5 Introduce a new standalone launcher
This launcher doesn't depend on cmd.exe, which eliminates another
annoyance. Credit for the icon goes to Kelsey Wellons.
2021-02-28 20:04:39 -05:00
87696e4237 Move extraneous source files under src/ 2021-02-28 19:06:58 -05:00
7cb1798f16 alias.c: Automatically wrap strings in quotes 2021-02-28 16:16:27 -05:00
ada316516c README.md updates and tweaks
Mingw-w64 v8.0.0 finally puts to rest the long-standing and irritating
issues with __USE_MINGW_ANSI_STDIO. As other distributions update they
will be on par with w64devkit on this point.

Msys2 supports optional static linking, and it does this well (though
optimized for speed, not size).
2021-02-11 14:56:59 -05:00
b3af49febe Disable a few more BusyBox applets
Removes the last RPM applet and the FTP applets.
2021-02-09 22:04:05 -05:00
56d49323d5 Copy alias.c straight into the installation prefix 2021-02-09 22:04:04 -05:00
3500d0930d Fix Vim 8.2 Markdown mode
Vim 8.2 shipped with broken Markdown syntax. This was the patch that
fixed it. This must be removed when upgrading to a future Vim 8.3.
2021-02-08 21:59:46 -05:00
d8583583ed Bump to 1.6.0 v1.6.0 2021-02-07 19:35:15 -05:00
d86ea47afe "Install" BusyBox using custom command alias tool
The "busybox --install" step has always been an unfortunate extra step
that I've watned to eliminate. I hoped I could do it via batch scripts
command "aliases". However, each aliased command has cmd.exe as its
parent interfering with its operation — particularly the disruptive and
infamous "Terminate batch job (Y/N)?" message which cannot be disabled.

The usual suggestion when people complain about this misfeature is to
use PowerShell. However, unlike batch scripts, PowerShell scripts are
not first class citizens on Windows. PowerShell is not always available
(often disabled by the adminstrator), and its scripts generally can't be
installed on and executed via the PATH, at least not without system-wide
configuration (i.e. PATHEXT).

The here is to use a tiny 4kB executable as a kind of crude compiled
shell script that, unlike cmd.exe, does the right thing. Since there are
so many, it adds about 150kB to the final .zip, but it does eliminate
this finall installation step.
2021-02-07 19:06:28 -05:00
f78d14c3a9 Introduce custom command alias program
Unlike batch script aliases, this program will be well-behaved and will
not produce a disruptive "Terminate batch job (Y/N)" prompt. The program
is always compiled freestanding in order to be as small as possible.

Interactive programs (vi, vim, gvim, vimtutor) are fine with a batch
script alias.
2021-02-07 18:48:24 -05:00
14c0ac34c5 Upgrade to Binutils 2.36.1 2021-02-06 11:36:11 -05:00
e25a5704ca Auto silent "busybox --install" in activate.bat 2021-02-05 22:54:12 -05:00
160bfa9d7b Set -Wl,--no-insert-timestamp by default
It's a bad idea to have this option enabled by default: The timestamp is
useless junk, and it makes builds non-reproducable.
2021-02-05 22:35:50 -05:00
b8e8037e3d Add c99.bat compatability alias for "gcc -std=c99" 2021-02-05 21:54:47 -05:00
f27d399c4c README.md updates and tweaks
Since my busybox-w32 ash patch has been accepted upstream, BusyBox's
shell is now quite adequate and capable, so there's little reason to
consider a replacement shell at this point.
2021-02-02 20:22:57 -05:00
56422d3e9e Upgrade to NASM 2.15.05 2021-01-28 22:48:31 -05:00
d72c0a3c22 Upgrade to Binutils 2.36
The windres --preprocessor command changed behavior in this release,
likely due to a bug, and it no longer word splits its argument (Binutils
commit 21c33bcb), though this was a misfeature to begin with. Vim uses
this option and so its build broke. Fortunately it doesn't actually need
to use --preprocessor sine the default is already fine, so it's been
removed.

This issue should be revisited on the next Binutils release.
2021-01-24 13:38:54 -05:00
633f93bfa7 Add mingw32-make.bat alias for make.exe
This is useful for compatability with existing MinGW-based builds.
2021-01-23 20:05:40 -05:00
370c3918f3 Upgrade to busybox-w32 FRP-3812-g12e14ebba
This includes a patch that fixes Alt key handling in the BusyBox shell.
2021-01-18 09:30:27 -05:00
1d9aa6d16b Disable some unnecessary BusyBox programs
* ar, strings, vi, xxd: already supplied
* dpkg, dpkg-deb, rpm: useless in this context
* [[ only makes sense as a shell built-in
2021-01-11 20:16:18 -05:00
7067e135f8 Add note about __USE_MINGW_ANSI_STDIO and -Os 2021-01-10 14:14:53 -05:00
66ec60e839 Bump to 1.5.0 v1.5.0 2021-01-09 20:04:20 -05:00
09d0714f14 Expand the README: more information, more bragging 2021-01-09 20:02:54 -05:00
0771e29c0a Fix libsanitizer README link 2020-12-02 21:34:44 -05:00
522ab38461 Disable 32-bit CRT (64-bit only) 2020-12-02 16:52:20 -05:00
4102e5088f Upgrade to MPC 1.2.1 2020-10-24 14:08:00 -04:00
4d76233acc Upgrade to GDB 10.1 2020-10-24 14:04:27 -04:00
f8420992d3 Stop using GNU mirrors since they're to unreliable
About half the time I run fresh builds, at least one of the tarballs is
not downloaded correctly. The mirror is down, it has a bad certificate,
or it's serving HTTP 404 responses for files that should exist.
2020-10-24 13:36:45 -04:00
11c0e00943 Also optimize the bootstrap CRT by size 2020-10-20 13:21:14 -04:00