diff --git a/srcpkgs/rust/files/musl.patch b/srcpkgs/rust/files/musl.patch new file mode 100644 index 00000000000..41268746a1b --- /dev/null +++ b/srcpkgs/rust/files/musl.patch @@ -0,0 +1,59 @@ +--- src/llvm/include/llvm/Analysis/TargetLibraryInfo.h 2015-08-04 21:30:36.000000000 +0200 ++++ src/llvm/include/llvm/Analysis/TargetLibraryInfo.h 2015-08-12 14:34:21.732793886 +0200 +@@ -18,6 +18,15 @@ + #include "llvm/IR/Module.h" + #include "llvm/Pass.h" + ++#undef fopen64 ++#undef fseeko64 ++#undef fstat64 ++#undef fstatvfs64 ++#undef ftello64 ++#undef lstat64 ++#undef stat64 ++#undef tmpfile64 ++ + namespace llvm { + /// VecDesc - Describes a possible vectorization of a function. + /// Function 'VectorFnName' is equivalent to 'ScalarFnName' vectorized +--- src/llvm/lib/Analysis/TargetLibraryInfo.cpp 2015-08-04 21:30:36.000000000 +0200 ++++ src/llvm/lib/Analysis/TargetLibraryInfo.cpp 2015-08-12 14:34:58.542597686 +0200 +@@ -336,14 +336,15 @@ + } + + // The following functions are available on at least Linux: +- if (!T.isOSLinux()) { ++ if (!T.isOSLinux()) ++ TLI.setUnavailable(LibFunc::memalign); ++ if (1 /*!T.isGlibc()*/) { + TLI.setUnavailable(LibFunc::dunder_strdup); + TLI.setUnavailable(LibFunc::dunder_strtok_r); + TLI.setUnavailable(LibFunc::dunder_isoc99_scanf); + TLI.setUnavailable(LibFunc::dunder_isoc99_sscanf); + TLI.setUnavailable(LibFunc::under_IO_getc); + TLI.setUnavailable(LibFunc::under_IO_putc); +- TLI.setUnavailable(LibFunc::memalign); + TLI.setUnavailable(LibFunc::fopen64); + TLI.setUnavailable(LibFunc::fseeko64); + TLI.setUnavailable(LibFunc::fstat64); +--- src/llvm/lib/Support/DynamicLibrary.cpp 2015-08-04 21:30:36.000000000 +0200 ++++ src/llvm/lib/Support/DynamicLibrary.cpp 2015-08-12 13:41:14.397917475 +0200 +@@ -138,7 +138,7 @@ + + // This macro returns the address of a well-known, explicit symbol + #define EXPLICIT_SYMBOL(SYM) \ +- if (!strcmp(symbolName, #SYM)) return &SYM ++ if (!strcmp(symbolName, #SYM)) return (void *) &SYM + + // On linux we have a weird situation. The stderr/out/in symbols are both + // macros and global variables because of standards requirements. So, we +--- src/llvm/utils/unittest/googletest/src/gtest.cc 2015-08-04 21:30:48.000000000 +0200 ++++ src/llvm/utils/unittest/googletest/src/gtest.cc 2015-08-12 13:41:36.965795116 +0200 +@@ -120,6 +120,7 @@ + + #if GTEST_CAN_STREAM_RESULTS_ + # include // NOLINT ++# include // NOLINT + # include // NOLINT + #endif + diff --git a/srcpkgs/rust/template b/srcpkgs/rust/template index 8ec80db8a2e..c42245bb164 100644 --- a/srcpkgs/rust/template +++ b/srcpkgs/rust/template @@ -1,8 +1,8 @@ # Template file for 'rust' pkgname=rust -version=1.4.0 +version=1.5.0 revision=1 -wrksrc="rustc-${version/.beta/-beta}" +wrksrc="rustc-${version}" lib32disabled=yes build_style=configure only_for_archs="x86_64" @@ -11,8 +11,8 @@ short_desc="A safe, concurrent, practical systems language" maintainer="Juan RP " homepage="http://www.rust-lang.org/" license="MIT, Apache-2.0" -distfiles="https://static.rust-lang.org/dist/rustc-${version/.beta/-beta}-src.tar.gz" -checksum=1c0dfdce5c85d8098fcebb9adf1493847ab40c1dfaa8cc997af09b2ef0aa8211 +distfiles="https://static.rust-lang.org/dist/rustc-${version}-src.tar.gz" +checksum=641037af7b7b6cad0b231cc20671f8a314fbf2f40fc0901d0b877c39fc8da5a0 do_configure() { local _triplet @@ -29,7 +29,7 @@ post_install() { vlicense LICENSE-MIT cd ${DESTDIR}/usr/lib/rustlib - rm install.log uninstall.sh components manifest-rustc rust-installer-version + rm install.log uninstall.sh components manifest-rustc rust-installer-version cd ${DESTDIR}/usr/lib ln -sf rustlib/*/lib/*.so . # symlinks instead of copies diff --git a/srcpkgs/rust/update b/srcpkgs/rust/update index 94d9ee0a272..9805bab8e05 100644 --- a/srcpkgs/rust/update +++ b/srcpkgs/rust/update @@ -1,2 +1 @@ -site="${homepage}install.html" pkgname=rustc