1
0
mirror of https://github.com/skeeto/w64devkit.git synced 2026-10-23 06:08:56 +03:00

299 Commits

Author SHA1 Message Date
Christopher Wellons
5012b9288b Bump to 2.7.0 2026-04-13 20:37:33 -04:00
Christopher Wellons
22f81db827 Add source stage for collecting source tarballs
Adds an optional "source" Docker target that collects all upstream
source tarballs for producing a source.tar release artifact. BuildKit
skips it unless explicitly requested via --target source.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-13 17:26:55 -04:00
Christopher Wellons
07f6894161 Update to dcmake 1.6.4 2026-04-12 19:08:13 -04:00
Christopher Wellons
71f0fee060 Update to dcmake 1.6.0 2026-04-12 09:53:12 -04:00
Christopher Wellons
f248170154 Update to dcmake 1.5.0
Now requires Windows 7 even more than before.
2026-04-11 17:35:08 -04:00
Christopher Wellons
b010e46fba ninja: Fix deps log recovery
In DepsLog::Load(), the file offset used for truncation-based recovery
was advanced past each record immediately after reading its bytes from
disk, but before validating the record's semantic correctness (e.g. the
path checksum or node-id range checks). When a record was structurally
complete but semantically invalid, recovery truncated the file to an
offset that included the bad record, so it was never removed.

This created an infinite cycle: every build would load the deps log, hit
the corrupt record, "recover" by truncating everything after it (but not
the record itself), then append new dependency records that would be
destroyed by the next build's recovery. The result was spurious rebuilds
on every invocation.

Move the offset update to the end of the loop body, after all validation
has passed. Now when a record fails validation, the offset still points
before it, and truncation correctly removes it.

(This patch has been submitted upstream.)
2026-04-11 16:25:16 -04:00
Christopher Wellons
8a109cdd71 Update to dcmake 1.4.0 2026-04-10 22:53:25 -04:00
Christopher Wellons
11a70781fe Update to dcmake 1.3.0
I keep finding more things to fix upstream.
2026-04-08 23:15:46 -04:00
Christopher Wellons
f14772c39f Update to dcmake 1.2.0 2026-04-08 09:32:55 -04:00
Christopher Wellons
d855e974df Update to dcmake 1.1.2 2026-04-07 22:37:24 -04:00
Christopher Wellons
dacd0812bd Introduce dcmake CMake debugger UI
I wrote this new tool yesterday after reading about "cmake --debugger"
the night before, and it's already been powerful and useful. In the past
this would be a month-long project, but in 2026 it only takes a day.
2026-04-05 22:40:02 -04:00
Christopher Wellons
c4ee256cc2 Introduce quilt command (Quilt.cpp)
This is a primitive source control system for w64devkit, a C++ clone of
a classic, old-school tool still in some use today.
2026-04-05 22:03:30 -04:00
Christopher Wellons
4a6417c21e Introduce etc/ in the sysroot
This is where src/profile *really* belongs, and I have plans for more
etc/ entries.
2026-04-05 21:57:16 -04:00
Christopher Wellons
85073275ff Upgrade to CMake 4.3.1 2026-03-29 19:07:05 -04:00
Christopher Wellons
c05f24b368 Upgrade to Mingw-w64 14.0.0
https://www.mingw-w64.org/changelog/#v1400-2026-03-27
2026-03-27 12:19:25 -04:00
Christopher Wellons
75ee252f2b New command: recycle
Send files and folders to the recycle bin without confirmation.
2026-03-26 18:59:09 -04:00
Christopher Wellons
bc3805f83e ctags: Add QML tag support
I have my own personal use for this feature, so I'm including it.
2026-03-23 21:34:08 -04:00
Christopher Wellons
4b1706e4e3 Introduce zstd/unzstd commands
Threads are disabled in the x86 build because zstd uses Windows 7
threading features. Closes #358.
2026-03-23 21:00:55 -04:00
Christopher Wellons
a736663d15 Upgrade to CMake 4.3.0 2026-03-23 19:48:25 -04:00
Christopher Wellons
b49699bdd6 Upgrade to Ccache 4.13.2 2026-03-23 19:48:25 -04:00
Christopher Wellons
70cff0fefa Upgrade to Expat 2.7.5 2026-03-23 19:48:25 -04:00
Christopher Wellons
de2ac5a7d5 Upgrade to MPC 1.4.0 2026-03-23 19:48:25 -04:00
Christopher Wellons
8a7e39afb5 Remove more inessential CMake files 2026-03-22 22:19:38 -04:00
Christopher Wellons
1d10baf609 Switch to speed-oriented builds
Aliases remain small because size is important and they are already
maximum speed. The distribution is ~10MB (~22%) larger, but C++ builds
with this toolchain are ~25% faster.
2026-03-17 18:55:14 -04:00
Christopher Wellons
a9c7b40969 Bump to 2.6.0 2026-03-15 21:44:25 -04:00
Peter0x44
ef0ad50bd7 Add GitHub Actions build
Add workflow that builds x64/x86 exes, with Docker caching

Closes #292.
2026-03-15 16:59:21 -04:00
Peter0x44
c9cfbde595 Build curses UI of CMake (ccmake) 2026-03-15 14:26:46 -04:00
Christopher Wellons
7f50b0ab0c Upgrade GDB to 17.1
https://lwn.net/Articles/1051653/
2026-03-10 23:13:14 -04:00
Christopher Wellons
6c51423969 Upgrade to Binutils 2.46
https://lists.gnu.org/archive/html/info-gnu/2026-02/msg00006.html
2026-03-10 22:45:49 -04:00
Christopher Wellons
85e582fce5 Upgrade to Universal Ctags 6.2.1 2026-03-10 22:29:52 -04:00
Christopher Wellons
0c02728cef Upgrade to libiconv 1.19 2026-03-10 22:21:10 -04:00
Christopher Wellons
25157fb776 Upgrade to Expat 2.7.4 2026-03-10 22:11:42 -04:00
Christopher Wellons
6a46a663f0 Upgrade Ccache to 4.13.1 2026-03-10 21:59:09 -04:00
Christopher Wellons
5acd7b0cf2 Upgrade to Ninja 1.13.2 2026-03-10 21:18:38 -04:00
Christopher Wellons
dd590779da Revert back to the main GNU FTP host
The GNU mirrors are currently unreliable and most downloads are failing.
2026-03-10 21:04:26 -04:00
Christopher Wellons
fa8d54d4e5 Break the build into independent stages
By breaking independent parts of the build into stages breaks implied
dependencies between those parts. A tool built later will not require
rebuilding when earlier unrelated tools are changed. That includes
upgrades to require new downloads. Most tools can be upgraded without
requiring unnecessary rebuilds.
2026-03-10 20:54:07 -04:00
Christopher Wellons
d8ee5fc502 Introduce CMake and Ninja
Unlike "standard" CMake, this build defaults to the Ninja generator and
w64dk toolchain without looking for Visual Studio.
2026-03-06 18:11:02 -05:00
Christopher Wellons
a356a08b5d Fix $ARCH-gcc alias for ccache 2026-03-06 13:07:28 -05:00
Christopher Wellons
c5bb7fbc74 Add ccache to the distribution (#327) 2026-03-02 07:24:12 -05:00
Christopher Wellons
17067070b9 Update Vim source download URL
The official Vim project no longer hosts older versions of Vim, and the
original Vim host is now gone. Due to the hashes, we can safely download
from anywhere stable, so let's try this mirror.
2026-02-15 10:47:21 -05:00
Christopher Wellons
b5b123da5b Bump to 2.5.0 2025-11-29 18:30:52 -05:00
Christopher Wellons
cecfa69de3 Upgrade to Debian 13 "trixie"
Due to bootstrapping this should have no impact on the result, except
for using a newer 7-zip to compress the 7z archive.
2025-11-15 09:14:01 -05:00
Christopher Wellons
f07ad376e2 Upgrade to busybox-w32 FRP-5857
https://frippery.org/busybox/release-notes/FRP-5857.html
2025-10-11 19:09:57 -04:00
Christopher Wellons
53cab45eb1 Filter Expat version to match the tag
Thanks to @Peter0x44 for the idea!
2025-09-24 18:52:45 -04:00
Christopher Wellons
0019476f03 Upgrade to expat 2.7.2 (#164)
Also switch to GitHub releases because it apparently not subject to
naive Expat security policies, making it more reliable. Expat only
parses trusted inputs in w64dk, and so is unaffected by security issues.
Updates are generally unnecessary. Unfortunately Expat's repository has
an unconventiontional tagging convention, and tags do not exactly match
the version, so the ARG will no longer work on its own, which is why I
had avoided its GitHub releases for so long.
2025-09-23 09:36:17 -04:00
Christopher Wellons
90c2621c4e Add uuidgen utility, a clone of Microsoft uuidgen
The original uuidgen utility complements midl, and this rewrite
complements the recently-added widl.
2025-09-14 21:20:09 -04:00
Peter0x44
44b3f9ea6f Don't specify gmp, mpfr, mpc include and lib directories separately 2025-09-10 14:51:27 +01:00
Christopher Wellons
be1515a9ee Build and include widl tool from Mingw-w64
The widl configure script is broken and does not support out-of-source
builds, so unlike gendef just above, it's built in the source tree. The
--prefix and --with-widl-includedir options must be congruent despite
their artificiality. These two paths are combined to construct the real
sysroot path at run time via tools.h:build_relative_path.

This patch also creates arch-prefixed aliases for both gendef and widl.
2025-09-07 10:37:58 -04:00
Peter0x44
e97a594ca0 Use ftpmirror.gnu.org for downloads
llvm-mingw switched to using it in this commit:
https://github.com/mstorsjo/llvm-mingw/commit/a96bbc0c

And I figured we should do the same. Especially since we download more
than just GNU make.

GNU themselves write (https://www.gnu.org/server/mirror.en.html):

> We recommend using this generic ftpmirror.gnu.org address wherever
> possible in links, documentation, etc., to reduce load on the main GNU
> server.
2025-09-03 10:29:28 -04:00
Christopher Wellons
bfd6577d07 Move w64devkit.ini to the root to mirror "installs"
One of my goals is that the distribution can be re-built in place using
only Docker or Podman, and so the unpacked distribution mirrors the
repository layout. That hasn't been true for w64devkit.ini, which is the
only file interfering with this trick, so fix it.
2025-09-03 09:09:07 -04:00