Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Native Windows urbit binaries using MingW #4675

Merged
merged 77 commits into from Sep 9, 2021

Commits on Mar 27, 2021

  1. Configuration menu
    Copy the full SHA
    186fe8d View commit details
    Browse the repository at this point in the history
  2. vere: request binary mode in fopen/open calls

    The C runtime MingW relies on, msvcrt.dll, has the notion of accessing files in text and binary mode.
    In text mode, it does CRLF conversion and handles some control characters, which breaks binary files.
    This change adds O_BINARY in every fopen/open call and #defines it to 0 on other platforms.
    locpyl-tidnyd committed Mar 27, 2021
    Configuration menu
    Copy the full SHA
    d554c18 View commit details
    Browse the repository at this point in the history
  3. vere: cleanup and reorder #includes

    Most C files have multiple #includes that are duplicated in include/c/portable.h.
    Removing them helps keep include-related #ifdefs in include/c/portable.h.
    #including library files after all.h avoids clashes on MingW and allows portable.h
    to add compatibility #defines where necessary.
    locpyl-tidnyd committed Mar 27, 2021
    Configuration menu
    Copy the full SHA
    577a267 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    98c002b View commit details
    Browse the repository at this point in the history
  5. vere: use embedded CA store directly rather than save it to a tempfile

    Vere writes the embedded CA store to a tempfile and directs libcurl and libh2o to pick it up from there,
    but on MingW this is inconvenient because temp paths are different and mkstemp(3) is not available.
    Loading CA store certificates directly from memory is tidier.
    locpyl-tidnyd committed Mar 27, 2021
    Configuration menu
    Copy the full SHA
    0e47c37 View commit details
    Browse the repository at this point in the history
  6. u3: fix patch cleanup

    In some places, _ce_patch_delete is invoked before _ce_patch_free. This works on Unix,
    where an open file can be unlinked, but on Windows one must open files with an extra
    flag FILE_SHARE_DELETE for this to work, and there is no way to pass this flag to open().
    locpyl-tidnyd committed Mar 27, 2021
    Configuration menu
    Copy the full SHA
    0d9de4f View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    bf38e79 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    d31d6f6 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    6ed4b70 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    ad81a01 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    b105ce9 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    a9d166c View commit details
    Browse the repository at this point in the history

Commits on Mar 28, 2021

  1. vere: add -fcommon to be compatible with gcc 10

    gcc 9 and earlier default to -fcommon, i.e. linker merges identical symbols. gcc 10 defaults
    to -fno-common, and the build breaks because c3_global is not defined anywhere.
    locpyl-tidnyd committed Mar 28, 2021
    Configuration menu
    Copy the full SHA
    56348ed View commit details
    Browse the repository at this point in the history
  2. vere: lmdb: wrap mdb_strerror in mdb_logerror

    To avoid allocating a buffer on MingW, mdb_strerror uses a horrible
    stack hack which explodes in vere. Source patch replaces it with mdb_logerror
    on MingW. This change adds the default implementation for other platforms.
    locpyl-tidnyd committed Mar 28, 2021
    Configuration menu
    Copy the full SHA
    a2ad636 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    ef0b87a View commit details
    Browse the repository at this point in the history

Commits on Mar 29, 2021

  1. vere: basic MingW compatibility changes

    This commit adds code changes, compatibility functions, stubs and a build script
    to build urbit binaries on MingW64. Some functionality is limited or missing:
    terminal input and daemon mode is not available, graceful exit does not work,
    and the binaries are not completely static and use (portable) MingW dlls.
    
    To build the binaries, install the MSYS2 environment, check out or copy the urbit
    repo and pill binaries, open a MingW64 shell and `cd pkg/urbit && ./build-mingw`.
    locpyl-tidnyd committed Mar 29, 2021
    Configuration menu
    Copy the full SHA
    4d14b41 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    00bd797 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    19fc2bc View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    d03e487 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    2b5f000 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    201f1f3 View commit details
    Browse the repository at this point in the history
  7. vere: fix strict builds

    locpyl-tidnyd committed Mar 29, 2021
    Configuration menu
    Copy the full SHA
    c690b57 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    1c58db2 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    0d9adff View commit details
    Browse the repository at this point in the history

Commits on Mar 30, 2021

  1. Configuration menu
    Copy the full SHA
    a36193c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    85030ab View commit details
    Browse the repository at this point in the history

Commits on Mar 31, 2021

  1. Configuration menu
    Copy the full SHA
    8df8f65 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d86fb8d View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    56b6274 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    24fde4b View commit details
    Browse the repository at this point in the history

Commits on Apr 1, 2021

  1. Configuration menu
    Copy the full SHA
    b4a768c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6ab51c7 View commit details
    Browse the repository at this point in the history
  3. vere: pipe serf stderr back to lord

    When uv_spawn creates a process and any standard fds are set to UV_INHERIT_FD,
    it ignores UV_PROCESS_WINDOWS_HIDE flags, and worker console pops up in -d mode.
    locpyl-tidnyd committed Apr 1, 2021
    Configuration menu
    Copy the full SHA
    33d1bf5 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    7d031f4 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    578841d View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    24d22e9 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    755d73b View commit details
    Browse the repository at this point in the history

Commits on Apr 2, 2021

  1. Configuration menu
    Copy the full SHA
    4882b00 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d7f4890 View commit details
    Browse the repository at this point in the history

Commits on Apr 27, 2021

  1. vere: merge urbit-v1.4

    locpyl-tidnyd committed Apr 27, 2021
    Configuration menu
    Copy the full SHA
    05df725 View commit details
    Browse the repository at this point in the history

Commits on Apr 28, 2021

  1. Configuration menu
    Copy the full SHA
    8e8edf5 View commit details
    Browse the repository at this point in the history

Commits on Apr 30, 2021

  1. Configuration menu
    Copy the full SHA
    c6f296e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a827577 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    90f9c68 View commit details
    Browse the repository at this point in the history

Commits on May 2, 2021

  1. Configuration menu
    Copy the full SHA
    ef228a0 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8dd35b7 View commit details
    Browse the repository at this point in the history

Commits on May 3, 2021

  1. Configuration menu
    Copy the full SHA
    47695e1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    aa2fd31 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    3865de2 View commit details
    Browse the repository at this point in the history

Commits on May 4, 2021

  1. Configuration menu
    Copy the full SHA
    5b8bebd View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    678773f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    014a94a View commit details
    Browse the repository at this point in the history

Commits on May 5, 2021

  1. Configuration menu
    Copy the full SHA
    b7db4d5 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c708820 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    6ba7f77 View commit details
    Browse the repository at this point in the history

Commits on May 6, 2021

  1. Configuration menu
    Copy the full SHA
    a9d4306 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2adcdaa View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    3a930d7 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    6702dad View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    61a3efc View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    9590d23 View commit details
    Browse the repository at this point in the history

Commits on May 20, 2021

  1. Configuration menu
    Copy the full SHA
    08c7f7f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    aea35d5 View commit details
    Browse the repository at this point in the history

Commits on Jun 2, 2021

  1. Configuration menu
    Copy the full SHA
    934a880 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    fe5ead8 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    08e4535 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    0ccbcd5 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    b130a9d View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    3903267 View commit details
    Browse the repository at this point in the history

Commits on Jun 4, 2021

  1. Configuration menu
    Copy the full SHA
    839a68e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    fb2ee65 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    3559394 View commit details
    Browse the repository at this point in the history

Commits on Jun 5, 2021

  1. compat: mingw: add seh_handler_decorator comments,

    move SEH handler to compat/mingw/seh_handler.c
    locpyl-tidnyd committed Jun 5, 2021
    Configuration menu
    Copy the full SHA
    a2a993c View commit details
    Browse the repository at this point in the history
  2. compat: mingw: put downloaded dependencies under $NIX_STORE

    (default to pkg/build so that git ignores them)
    locpyl-tidnyd committed Jun 5, 2021
    Configuration menu
    Copy the full SHA
    c6121f3 View commit details
    Browse the repository at this point in the history

Commits on Jun 16, 2021

  1. Configuration menu
    Copy the full SHA
    e7ac8c0 View commit details
    Browse the repository at this point in the history

Commits on Jul 2, 2021

  1. compat: add m1brew

    locpyl-tidnyd committed Jul 2, 2021
    Configuration menu
    Copy the full SHA
    23634f6 View commit details
    Browse the repository at this point in the history

Commits on Jul 6, 2021

  1. Configuration menu
    Copy the full SHA
    5b4b6c6 View commit details
    Browse the repository at this point in the history