Warning: file_exists(): open_basedir restriction in effect. File(/srv/http/vhosts/aur.archlinux.org/public/web/locale//en/LC_MESSAGES/aurweb.mo) is not within the allowed path(s): (/srv/http/vhosts/aur-dev.archlinux.org/:/etc/aurweb/) in /srv/http/vhosts/aur-dev.archlinux.org/public/web/lib/streams.php on line 90
AUR (en) - swift-language-git

Notice: Undefined variable: name in /srv/http/vhosts/aur-dev.archlinux.org/public/web/lib/pkgfuncs.inc.php on line 248

Package Details: swift-language-git swift.2.2.SNAPSHOT.2015.12.01.b.r537.g072a459-1

Git Clone URL: https://aur-dev.archlinux.org/swift-language-git.git (read-only)
Package Base: swift-language-git
Description: The Swift programming language, taken directly from the Apple repository
Upstream URL: https://swift.org/
Keywords: apple language swift-language
Licenses: Apache2
Conflicts: swift-language-bin
Provides: swift-language
Submitter: thetaeo
Maintainer: thetaeo
Last Packager: thetaeo
Votes: 2
Popularity: 0.000383
First Submitted: 2015-12-04 01:32
Last Updated: 2015-12-06 23:11

Latest Comments

1 2 3 Next › Last »

rlovelett commented on 2016-01-01 16:48

I got my Python 3 patches accepted upstream. As of yesterday afternoon master can now _build_ with either Python 2 or 3.

See: https://github.com/apple/swift/commit/b50b5419be1d4631f6fa3f1978d266d025542e96

The tests still rely on Python 2 and they cannot successfully be run right now without Python 2.

I have a PKGBUILD with a number of patches that allows me to build on my system. You can find that over here: https://github.com/RLovelett/swift-aur.

My eventual goal is to get every patch in that repo associated with PKGBUILD included upstream.

The next big one I want to get integrated is: https://github.com/apple/swift/pull/435. It fixes LD_FLAGS pthreads and dl linking issues. There is someone on that thread who keeps stating they are not having the linking issues. Any feedback someone can give to corroborate the linking issue may help that get merged faster.

yousry commented on 2015-12-31 11:19

You can create a package from the build script with:

utils/build-script --preset=buildbot_linux_1404 installable_package=/tmp/swift.tar.gz install_destdir=/tmp/swift-install

(ref: https://lists.swift.org/pipermail/swift-users/Week-of-Mon-20151130/000144.html)

To avoid conflicts with your current build system you can use a chroot environment.


Ahti333 commented on 2015-12-29 20:57

I have three notes:

1) The build currently depends on additional packages, namely perl (due to pod2man usage) and python (python 3, which seems to still be used in some places).

2) I'm not currently able to build the package with this error message:

clang-3.7: error: unable to execute command: Killed

I believe this means that the process was killed due to high memory usage, but I am running the build on a server with 32GB of ECC RAM and nothing else running on the system.

This happens in the steps of linking bin/swift, bin/swift-llvm-opt and bin/sil-opt.

3) Trying to restart a failed build fails due to git errors:

-> Creating working copy of swift-clang git repo...
error: bad index file sha1 signature
fatal: index file corrupt
==> ERROR: Failure while updating working copy of swift-clang git repo
Aborting...

I'm not quite sure why this happens. Maybe patching the files to use python2 compromises the git repos integrity somehow?

thetaeo commented on 2015-12-06 23:06

I have just pushed a version that successfully builds and installs with swiftpm (albeit with no LLDB, I have not patched that yet).

Original (I had a commit without a .SRCINFO, but that has been fixed)
I have a version that works (albeit with no repl or LLDB) and has swiftpm and foundation. However, the AUR seems to be deying my push (it tells me there is no .SRCINFO, despite git ls-files saying there is. Does anyone have any experience with this?). I have a gist of it here:
https://gist.github.com/thetaeo/572f49077cb4e623a46c

yousry commented on 2015-12-06 16:22

At the moment I use chroot/debootstrep for the build.

I added changes similar to Meow but the package was build with a non-functional repl.

- If you already have a clang/llvm 3.8 with a rt and libc++ , the build will fail.
- The repl build script will also try to link against python3.

Further Remarks to the PKGBUILD file:

By convention, at least one newline should follow a shebang:

find . -type f -print0 | xargs -0 sed -i 's/\/usr\/bin\/env python/\/usr\/bin\/env python2 \n /g

For a better rebuild I added:
LDFLAGS='-ldl -lpthread' python2 utils/build-script -p -R -- --reconfigure

Optionally add a -j CPUs parameter for a parallel build.

Meow commented on 2015-12-06 15:20

I am really amazed how crippled this PKGBUILD file is,
The swiftpm folder contains python scripts too, they are also need to be patched:
```
find "${srcdir}/swiftpm" -type f -print0 | xargs -0 file --mime-type -F::: |
awk 'BEGIN{FS=":::"}/text\/x-python$/{print $1}' |
tr \\n \\0|
xargs -0 sed -i '1s/python\>/python2/'
```
and llbuild is required for building swiftpm, you need to pass "-b" to build-script as well:
```
LDFLAGS='-ldl -lpthread' python2 utils/build-script -p -b -R
```
after all these tweaks, I successfully built the package. Still, thanks for providing this aur package anyway.

Meow commented on 2015-12-06 13:48

About the patch command for using Python2, I think the following code would be more accurate, and do not rewrite every file:
```
find . -type f -print0 | xargs -0 file --mime-type -F::: |
awk 'BEGIN{FS=":::"}/text\/x-python$/{print $1}' |
tr \\n \\0|
xargs -0 sed -i '1s|#!/usr/bin/env python\>|#!/usr/bin/env python2|'
```

Meow commented on 2015-12-06 13:15

I think the command
```
find "${srcdir}" -type f -name module.map -print0 | xargs -0 sed -i 's|/usr/include/x86_64-linux-gnu|/usr/include|g'
```
should be added in the build function in PKGBUILD file as a way to fix the "header '/usr/include/x86_64-linux-gnu/sys/ioctl.h' not found" issue occured during the compiling.

thetaeo commented on 2015-12-05 14:00

@rlovelett
(this is also theoduino, I was having some account name problems when changing)
theo@smaug:~:$ icu-config --version
56.1

@Morn

I also used the hacky ln -s method in my original manual build and forgot to add that to this package. I'm testing a sed-based solution now.

thetaeo commented on 2015-12-04 17:14

I just added -p to build swiftpm.