pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/lang/rust rust: Restore SunOS support.



details:   https://anonhg.NetBSD.org/pkgsrc/rev/8b36e8ef1839
branches:  trunk
changeset: 373540:8b36e8ef1839
user:      jperkin <jperkin%pkgsrc.org@localhost>
date:      Thu Jan 04 15:18:50 2018 +0000

description:
rust: Restore SunOS support.

diffstat:

 lang/rust/Makefile                                               |  45 ++++++---
 lang/rust/distinfo                                               |   8 +-
 lang/rust/patches/patch-src_vendor_filetime_.cargo-checksum.json |  10 ++
 lang/rust/patches/patch-src_vendor_filetime_src_unix.rs          |  22 ++++
 4 files changed, 68 insertions(+), 17 deletions(-)

diffs (156 lines):

diff -r e5d6858fd193 -r 8b36e8ef1839 lang/rust/Makefile
--- a/lang/rust/Makefile        Thu Jan 04 14:47:25 2018 +0000
+++ b/lang/rust/Makefile        Thu Jan 04 15:18:50 2018 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.25 2018/01/01 21:18:37 adam Exp $
+# $NetBSD: Makefile,v 1.26 2018/01/04 15:18:50 jperkin Exp $
 
 DISTNAME=      rustc-1.22.1-src
 PKGNAME=       ${DISTNAME:S/rustc/rust/:S/-src//}
@@ -101,13 +101,13 @@
 RUST_STD_STAGE0:=      rust-std-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
 DISTFILES:=            ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
 .endif
-#.if !empty(MACHINE_PLATFORM:MSunOS-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
-#RUST_ARCH:=           x86_64-sun-solaris
-#RUST_STAGE0:=         rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
-#SITES.${RUST_STAGE0}= https://us-east.manta.joyent.com/pkgsrc/public/pkg-bootstraps/
-#DISTFILES:=           ${DISTFILES} ${RUST_STAGE0}
-#RUST_BOOTSTRAP_PATH?= ${WRKDIR}/rust-${RUST_STAGE0_VER}-${RUST_ARCH}
-#.endif
+.if !empty(MACHINE_PLATFORM:MSunOS-*-x86_64) || make(distinfo) || make (makesum) || make(mdi)
+RUST_ARCH:=            x86_64-sun-solaris
+RUST_STAGE0:=          rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
+SITES.${RUST_STAGE0}=  https://us-east.manta.joyent.com/pkgsrc/public/pkg-bootstraps/
+DISTFILES:=            ${DISTFILES} ${RUST_STAGE0}
+RUST_BOOTSTRAP_PATH?=  ${WRKDIR}/rust-${RUST_STAGE0_VER}-${RUST_ARCH}
+.endif
 .if !empty(MACHINE_PLATFORM:MNetBSD-*-i386) || make(distinfo) || make (makesum) || make(mdi)
 RUST_ARCH=             i686-unknown-netbsd
 RUST_STAGE0:=          rust-${RUST_STAGE0_VER}-${RUST_ARCH}.tar.gz
@@ -116,7 +116,9 @@
 SITES.${RUST_STAGE0}=  https://deuterium.ryoon.net/pub/rust/
 SITES.${RUST_STD_STAGE0}=      https://deuterium.ryoon.net/pub/rust/
 DISTFILES:=            ${DISTFILES} ${RUST_STAGE0} ${RUST_STD_STAGE0}
-DIST_SUBDIR=           ${PKGNAME}
+# Setting this changes it for every distfile, which doesn't match what is
+# currently in distinfo.
+#DIST_SUBDIR=          ${PKGNAME}
 # For atomic ops
 CFLAGS+=               -march=i586
 pre-build:
@@ -211,30 +213,41 @@
 # Create a relocatable stage2 bootstrap from the bits we just built that can be
 # used to build the next version of rust.  Currently only tested on SmartOS.
 #
-BOOTSTRAP_TMPDIR=      ${WRKDIR}/${PKGNAME}-${RUST_ARCH}
+BOOTSTRAP_TMPDIR=      ${WRKDIR}/${PKGNAME_NOREV}-${RUST_ARCH}
 USE_TOOLS+=            gtar
 
 stage0-bootstrap: install
+       ${RM} -rf ${BOOTSTRAP_TMPDIR}
        ${MKDIR} ${BOOTSTRAP_TMPDIR}
        ${CP} -R ${DESTDIR}/${PREFIX}/bin ${BOOTSTRAP_TMPDIR}/
        ${CP} -R ${DESTDIR}/${PREFIX}/lib ${BOOTSTRAP_TMPDIR}/
 .if ${OS_VARIANT} == "SmartOS"
+       ${MKDIR} ${BOOTSTRAP_TMPDIR}/lib/pkgsrc
        for lib in libgcc_s.so.1 libssp.so.0 libstdc++.so.6; do \
                ${CP} `${PKG_CC} -print-file-name=$${lib}` \
-                   ${BOOTSTRAP_TMPDIR}/lib/; \
+                   ${BOOTSTRAP_TMPDIR}/lib/pkgsrc/; \
        done
-       for f in ${BOOTSTRAP_TMPDIR}/bin/rust{c,doc}; do \
-               /usr/bin/elfedit -e 'dyn:runpath $$ORIGIN/../lib' $$f; \
+       for lib in libcrypto.so.1.0.0 libcurl.so.4 libhttp_parser.so.2 \
+                  libiconv.so.2 libidn2.so.0 libintl.so.8 liblber-2.4.so.2 \
+                  libldap-2.4.so.2 libnghttp2.so.14 libsasl2.so.3 \
+                  libssh2.so.1 libssl.so.1.0.0 libunistring.so.2 libz.so.1; do \
+               ${CP} ${PREFIX}/lib/$${lib} ${BOOTSTRAP_TMPDIR}/lib/pkgsrc/; \
+       done
+       for f in ${BOOTSTRAP_TMPDIR}/bin/{cargo,rls,rustc,rustdoc}; do \
+               /usr/bin/elfedit -e 'dyn:runpath $$ORIGIN/../lib:$$ORIGIN/../lib/pkgsrc' $$f; \
+       done
+       for f in ${BOOTSTRAP_TMPDIR}/lib/pkgsrc/*.so*; do \
+               /usr/bin/elfedit -e 'dyn:runpath $$ORIGIN' $$f; \
        done
        for f in ${BOOTSTRAP_TMPDIR}/lib/*.so*; do \
-               /usr/bin/elfedit -e 'dyn:runpath $$ORIGIN' $$f; \
+               /usr/bin/elfedit -e 'dyn:runpath $$ORIGIN:$$ORIGIN/pkgsrc' $$f; \
        done
        for f in ${BOOTSTRAP_TMPDIR}/lib/rustlib/${RUST_ARCH}/lib/*.so*; do \
-               /usr/bin/elfedit -e 'dyn:runpath $$ORIGIN:$$ORIGIN/../../..' $$f; \
+               /usr/bin/elfedit -e 'dyn:runpath $$ORIGIN:$$ORIGIN/../../..:$$ORIGIN/../../../pkgsrc' $$f; \
        done
 .endif
        (cd ${WRKDIR}; \
-        ${GTAR} -zcf ${PKGNAME}-${RUST_ARCH}.tar.gz ${PKGNAME}-${RUST_ARCH})
+        ${GTAR} -zcf ${PKGNAME_NOREV}-${RUST_ARCH}.tar.gz ${PKGNAME_NOREV}-${RUST_ARCH})
 
 .include "../../devel/cmake/buildlink3.mk"
 .include "../../devel/libgit2/buildlink3.mk"
diff -r e5d6858fd193 -r 8b36e8ef1839 lang/rust/distinfo
--- a/lang/rust/distinfo        Thu Jan 04 14:47:25 2018 +0000
+++ b/lang/rust/distinfo        Thu Jan 04 15:18:50 2018 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.14 2017/12/20 05:38:21 maya Exp $
+$NetBSD: distinfo,v 1.15 2018/01/04 15:18:50 jperkin Exp $
 
 SHA1 (rust-1.21.0-i686-apple-darwin.tar.gz) = 9e01c8800419db1de2c31dee06494194ab843b7d
 RMD160 (rust-1.21.0-i686-apple-darwin.tar.gz) = 0f5f73fb5dfca510afd9acaf755893901a3180ca
@@ -16,6 +16,10 @@
 RMD160 (rust-1.21.0-x86_64-apple-darwin.tar.gz) = c1fb237215d34059041065c0508308eea767f7b3
 SHA512 (rust-1.21.0-x86_64-apple-darwin.tar.gz) = dd19ec67b22c43d219ee88319312ab82964d40d0996931eb1c7df12defebc17827fbdbb4f7096aff6cee6772c8f6b6f1614a487b8b2a0ab3b5f3cb66417aaf8a
 Size (rust-1.21.0-x86_64-apple-darwin.tar.gz) = 133932530 bytes
+SHA1 (rust-1.21.0-x86_64-sun-solaris.tar.gz) = 5da64aa97e4aba82d02f7547dbdd44a9305005fc
+RMD160 (rust-1.21.0-x86_64-sun-solaris.tar.gz) = b0c1aa3734faf03d2b02fa301562b79ec145aa66
+SHA512 (rust-1.21.0-x86_64-sun-solaris.tar.gz) = 952280e446c86091340202caa206ea7f31295d82cc65da95a4e78fa691bdf837ded587d916ff3226adc639f7483db8ab12a99ef7e233cdac46c33e9edcc738ad
+Size (rust-1.21.0-x86_64-sun-solaris.tar.gz) = 146676219 bytes
 SHA1 (rust-1.21.0-x86_64-unknown-linux-gnu.tar.gz) = a725a3cdaf937b30788d55363f962a1da1a6e2e2
 RMD160 (rust-1.21.0-x86_64-unknown-linux-gnu.tar.gz) = 5d4feca3675ec279868e52b7bdb84349be9c9e83
 SHA512 (rust-1.21.0-x86_64-unknown-linux-gnu.tar.gz) = 8ffee69e895eba1564eecff769a105c8069cc66ce85f4ae6d1316eef5483185d8b4180595a1d67b2f08802b74e349c7677398203d89e3b131b56b2ea7ce0e980
@@ -58,3 +62,5 @@
 SHA1 (patch-src_libstd_build.rs) = 32dad8a474300f9f37bce8b92acca762cf8cc4ab
 SHA1 (patch-src_llvm_cmake_modules_AddLLVM.cmake) = 282d97cce8d01cfefe565185d4999c2db9ccc13f
 SHA1 (patch-src_llvm_lib_CodeGen_MachineDominanceFrontier.cpp) = 2899771b1a23be840b9305eff7e5e5f957239ccb
+SHA1 (patch-src_vendor_filetime_.cargo-checksum.json) = 7cdd486b65ad780c3a472bc1846d55270dcbcdeb
+SHA1 (patch-src_vendor_filetime_src_unix.rs) = e31011cdc146897b6530c51d76929b8ac194f6a2
diff -r e5d6858fd193 -r 8b36e8ef1839 lang/rust/patches/patch-src_vendor_filetime_.cargo-checksum.json
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/rust/patches/patch-src_vendor_filetime_.cargo-checksum.json  Thu Jan 04 15:18:50 2018 +0000
@@ -0,0 +1,10 @@
+$NetBSD: patch-src_vendor_filetime_.cargo-checksum.json,v 1.1 2018/01/04 15:18:51 jperkin Exp $
+
+Update checksum for src/unix.rs patch.
+
+--- src/vendor/filetime/.cargo-checksum.json.orig      2017-11-22 23:37:31.000000000 +0000
++++ src/vendor/filetime/.cargo-checksum.json
+@@ -1 +1 @@
+-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".gitignore":"f9b1ca6ae27d1c18215265024629a8960c31379f206d9ed20f64e0b2dcf79805",".travis.yml":"fed0342a81e321ed9d4189905a9987d60d5b83b3c097dd3dc62d81461c8b65d8","Cargo.toml":"34c5b16ec63d0079f74203650c1766d928384f16801472f0e19912dee8e3fd9e","Cargo.toml.orig":"6ed10b4b57d08fa891d9c8d8579509107b2046965db9c76145b6ede345c9a570","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"fef1998633eb2f460e6b12bc1133a21f5674e0b53ae5914ba1e53f1b63a185c3","appveyor.yml":"3a74394c3e3ef3b2c7d9458f526e47587977e98d026b63f00be29479075ff597","src/lib.rs":"12dff581c45905398c5eab919cda969d811d1e56a486aee13b12027d7840a5f7","src/redox.rs":"7b6376069ea06e6593058699af40fa780c3d621c010d31bfa6c1bfae18de28f4","src/unix.rs":"943587ee42bfcb684cb0abf8567d478dc21006e01f96fb86c76e5d0e2b7932dd","src/windows.rs":"37dd08863698a5c32c103374ad1ed776405b75038c88bc48b7db28ad9c5bf86b"},"package":"6ab199bf38537c6f38792669e081e0bb278b9b7405bba2642e4e5d15bf732c0e"}
+\ No newline at end of file
++{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".gitignore":"f9b1ca6ae27d1c18215265024629a8960c31379f206d9ed20f64e0b2dcf79805",".travis.yml":"fed0342a81e321ed9d4189905a9987d60d5b83b3c097dd3dc62d81461c8b65d8","Cargo.toml":"34c5b16ec63d0079f74203650c1766d928384f16801472f0e19912dee8e3fd9e","Cargo.toml.orig":"6ed10b4b57d08fa891d9c8d8579509107b2046965db9c76145b6ede345c9a570","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"fef1998633eb2f460e6b12bc1133a21f5674e0b53ae5914ba1e53f1b63a185c3","appveyor.yml":"3a74394c3e3ef3b2c7d9458f526e47587977e98d026b63f00be29479075ff597","src/lib.rs":"12dff581c45905398c5eab919cda969d811d1e56a486aee13b12027d7840a5f7","src/redox.rs":"7b6376069ea06e6593058699af40fa780c3d621c010d31bfa6c1bfae18de28f4","src/unix.rs":"24e6c14adb4b66879f4f616d7617e948f9fc4ab497b77c008825daef59e45456","src/windows.rs":"37dd08863698a5c32c103374ad1ed776405b75038c88bc48b7db28ad9c5bf86b"},"package":"6ab199bf38537c6f38792669e081e0bb278b9b7405bba2642e4e5d15bf732c0e"}
diff -r e5d6858fd193 -r 8b36e8ef1839 lang/rust/patches/patch-src_vendor_filetime_src_unix.rs
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/rust/patches/patch-src_vendor_filetime_src_unix.rs   Thu Jan 04 15:18:50 2018 +0000
@@ -0,0 +1,22 @@
+$NetBSD: patch-src_vendor_filetime_src_unix.rs,v 1.1 2018/01/04 15:18:51 jperkin Exp $
+
+SunOS does not have lutimes.
+
+--- src/vendor/filetime/src/unix.rs.orig       2017-11-22 23:37:31.000000000 +0000
++++ src/vendor/filetime/src/unix.rs
+@@ -14,12 +14,12 @@ pub fn set_file_times(p: &Path, atime: F
+     set_file_times_u(p, atime, mtime, libc::utimes)
+ }
+ 
+-#[cfg(target_os = "android")]
++#[cfg(any(target_os = "android", target_os = "solaris"))]
+ pub fn set_symlink_file_times(_p: &Path, _atime: FileTime, _mtime: FileTime) -> io::Result<()> {
+-   Err(io::Error::new(io::ErrorKind::Other, "not supported on Android"))
++   Err(io::Error::new(io::ErrorKind::Other, "not supported"))
+ }
+ 
+-#[cfg(not(target_os = "android"))]
++#[cfg(not(any(target_os = "android", target_os = "solaris")))]
+ pub fn set_symlink_file_times(p: &Path, atime: FileTime, mtime: FileTime) -> io::Result<()> {
+    set_file_times_u(p, atime, mtime, libc::lutimes)
+ }



Home | Main Index | Thread Index | Old Index