refi.64 commented on 2018-02-08 22:13

New package release! Changes include:

libcurl should now work out-of-the-box, without having to use LD_PRELOAD.

Header includes work.

Version warnings won't be printed. This means that Swift commands that assume any output is erroneous will succeed, and any compiled programs also won't print version information warnings. This ALSO means that any binaries you compile will use a custom dynamic linker (stored in /usr/lib/swift/arch/ld.so), and that an incredibly ugly hack was necessary in order to make this work.

Note that the signing key comment by @FredBezies still applies, so make sure you enter:

refi.64 commented on 2018-02-17 19:45

@wezm Sorry, that should be fixed now. I somehow managed to miss committing a small but necessary change that therefore broke swiftc.

wezm commented on 2018-02-16 03:21

FYI I installed this and tried to build some projects that use swift package manager and they all failed with an error like, "The manifest file at /path/to/a/file is empty". I then built swift form source using the swift AUR package, which also has the 4.0.3 version and it appears to work.

refi.64 commented on 2018-02-08 22:13

New package release! Changes include:

libcurl should now work out-of-the-box, without having to use LD_PRELOAD.

Header includes work.

Version warnings won't be printed. This means that Swift commands that assume any output is erroneous will succeed, and any compiled programs also won't print version information warnings. This ALSO means that any binaries you compile will use a custom dynamic linker (stored in /usr/lib/swift/arch/ld.so), and that an incredibly ugly hack was necessary in order to make this work.

Note that the signing key comment by @FredBezies still applies, so make sure you enter:

gpg --recv-keys --keyserver hkp://pgp.mit.edu EF5430F071E1B235

Enjoy!

FredBezies commented on 2018-02-08 08:01

Orphaning it. Refi.64, here you go. Good luck :)

refi.64 commented on 2018-02-07 21:40

@FredBezies Ok, that would be great!

FredBezies commented on 2018-02-07 10:38

@refi.64 : if you want it, I can orphan it in order to give it to you. Just ask.

refi.64 commented on 2018-02-05 18:50

@FredBezies: I guess so? I mean, I'm working on some Swift projects (I used Ubuntu before, and haven't been able to work on them since switching to Arch, because of obvious reasons), so I guess I have some incentive. ;)

FredBezies commented on 2018-02-05 18:30

@refi.64: if you want to adopt swift-bin package, I'll give it to you. I'm not using anymore this package. So...

refi.64 commented on 2018-02-05 18:28

After a long time of experimenting with various things, I FINALLY have a fully, 100% working version of the Swift binaries. No more libcurl errors, no more version warnings, no more include header issues.

Of course, the con is that this is a hot mess. It creates a custom ld.so without version warnings (to ensure that building works), patches the proper libcurl.so (same thing), and - worst of all - uses bubblewrap to add a custom clang++ that patches ld.so on all built files. It's a hot mess, but it works perfectly. I've successfully built several sample applications with it.