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
Support building putty for windows #44632
Conversation
This is apparently a typo that has not been fixed. Also remove unused configureFlags.
@GrahamcOfBorg build pkgsCross.mingw32.putty |
Success on x86_64-linux (full log) Attempted: putty Partial log (click to expand)
|
Success on aarch64-linux (full log) Attempted: putty Partial log (click to expand)
|
Success on aarch64-linux (full log) Attempted: pkgsCross.mingw32.putty Partial log (click to expand)
|
Failure on x86_64-linux (full log) Attempted: pkgsCross.mingw32.putty Partial log (click to expand)
|
Success on x86_64-darwin (full log) Attempted: pkgsCross.mingw32.putty Partial log (click to expand)
|
Failure on x86_64-darwin (full log) Attempted: putty Partial log (click to expand)
|
At which point Microsoft will hire Nix people? 😏 |
@@ -1,7 +1,15 @@ | |||
{ stdenv, callPackage }: | |||
{ stdenv, callPackage, lib, fetchurl }: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it looks like callPackage is not needed anymore
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
good stuff! I have also the nullsoft installer packaged somewhere to windows packages could be more easily redistributed
Haha... well putty is still free software! I want to get to the point where all of the Windows apps I use can be built from Nix expressions. |
CC @angerman is the bootstrapping still OK (until we can do the C++ stuff at least)? |
@@ -0,0 +1,29 @@ | |||
{ newScope, crossLibcStdenv }: let |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FWIW darwin's went in pkgs/top-level/darwin-packages.nix
but used to be in pkgs/os-specific/darwin/default.nix
. I'm not sure which I like better; I think @LnL7 made the switch?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I prefer this way just for the shorter file paths. Also top-level is starting to get crowded.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I moved darwin = { ... };
from all-packages to a separate file, I don't think there was a default.nix. Almost every package set points to a pkgs/top-level/<foo>-packages.nix
so I think that's better for consistency's sake.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn’t mingwrt be called msvcrt for consistency?
configureFlags = [ | ||
"--enable-idl" | ||
"--enable-secure-api" | ||
]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I’m pretty sure we want to al least retain the secure-api. Otherwise this will result in frequent missing symbol issues.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These weren't being used - only name & src are inherited in the derivation below. We can add them back though.
WINBOOL IsPlatformNT() { | ||
OSVERSIONINFOA oi = { 0 }; | ||
|
||
- oi.dwOSVersionInfoSize = sizeof (osvi); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why do we do this? A comment in the source would be nice. Lest the next one reading this will be puzzling over this...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's a bug I think. See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=863064.
@zimbatm I’ve got a nsis.nix as well that even builds the crosscompiling version (to run makensis on Linux) |
‘platforms.windows’ includes all windows platforms. Should prefer this to using assertions.
Success on x86_64-linux (full log) Attempted: putty Partial log (click to expand)
|
Failure on x86_64-darwin (full log) Attempted: putty Partial log (click to expand)
|
Success on aarch64-linux (full log) Attempted: putty Partial log (click to expand)
|
@angerman: Based on this comment, would you mind sharing/upstreaming makensis? |
Motivation for this change
Uses the mingw makefile in putty to build for Windows targets.
Things done
sandbox
innix.conf
on non-NixOS)nix-shell -p nox --run "nox-review wip"
./result/bin/
)nix path-info -S
before and after)