# Buildsheet autogenerated by ravenadm tool -- Do not edit. NAMEBASE= rust VERSION= 1.77.2 KEYWORDS= lang VARIANTS= standard SDESC[standard]= Systems programming language from Mozilla HOMEPAGE= https://www.rust-lang.org/ CONTACT= nobody DOWNLOAD_GROUPS= main curl dflyboot SITES[main]= https://static.rust-lang.org/dist/ SITES[curl]= http://curl.haxx.se/download/ SITES[dflyboot]= https://leaf.dragonflybsd.org/~marino/dports-src/rust/ DISTFILE[1]= rustc-1.77.2-src.tar.xz:main DISTFILE[2]= rustc-1.76.0-x86_64-unknown-dragonfly.tar.zst:dflyboot DISTFILE[3]= rust-std-1.76.0-x86_64-unknown-dragonfly.tar.zst:dflyboot DISTFILE[4]= cargo-1.76.0-x86_64-unknown-dragonfly.tar.zst:dflyboot DISTFILE[5]= rustc-1.76.0-x86_64-unknown-freebsd.tar.gz:main DISTFILE[6]= rust-std-1.76.0-x86_64-unknown-freebsd.tar.gz:main DISTFILE[7]= cargo-1.76.0-x86_64-unknown-freebsd.tar.gz:main DISTFILE[8]= rustc-1.76.0-x86_64-unknown-linux-gnu.tar.gz:main DISTFILE[9]= rust-std-1.76.0-x86_64-unknown-linux-gnu.tar.gz:main DISTFILE[10]= cargo-1.76.0-x86_64-unknown-linux-gnu.tar.gz:main DISTFILE[11]= rustc-1.76.0-x86_64-unknown-netbsd.tar.gz:main DISTFILE[12]= rust-std-1.76.0-x86_64-unknown-netbsd.tar.gz:main DISTFILE[13]= cargo-1.76.0-x86_64-unknown-netbsd.tar.gz:main DISTFILE[14]= curl-7.87.0.tar.xz:curl DF_INDEX= 1 14 SPKGS[standard]= single OPTIONS_AVAILABLE= none OPTIONS_STANDARD= none ONLY_FOR_OPSYS= dragonfly freebsd linux netbsd midnightbsd BUILD_DEPENDS= bash:primary:standard cmake:primary:standard ncurses:primary:standard nss:caroot:standard RUN_DEPENDS= libexecinfo:dev:standard EXRUN[single]= ravensys-gcc:compilers:standard USES= cpe gmake zlib:build python:build shebangfix execinfo c++:single dos2unix ssl:build DISTNAME= rustc-1.77.2-src EXTRACT_ONLY= 1 14 LICENSE= APACHE20:single MIT:single LICENSE_TERMS= single:{{WRKSRC}}/COPYRIGHT LICENSE_FILE= APACHE20:{{WRKSRC}}/LICENSE-APACHE MIT:{{WRKSRC}}/LICENSE-MIT LICENSE_SCHEME= dual CPE_VENDOR= rust-lang DOS2UNIX_FILES= vendor/openssl-probe/src/lib.rs FPC_EQUIVALENT= lang/rust SHEBANG_FILES= src/llvm-project/compiler-rt/lib/sanitizer_common/symbolizer/scripts/*.sh src/llvm-project/compiler-rt/lib/asan/scripts/asan_device_setup src/llvm-project/compiler-rt/lib/tsan/*.sh src/llvm-project/compiler-rt/lib/fuzzer/scripts/*.py src/llvm-project/compiler-rt/lib/dfsan/scripts/build-libc-list.py src/llvm-project/compiler-rt/lib/sanitizer_common/scripts/*.py src/llvm-project/compiler-rt/lib/asan/scripts/asan_symbolize.py library/core/src/unicode/printable.py library/backtrace/ci/debuglink.sh MUST_CONFIGURE= yes CONFIGURE_ARGS= --release-channel=stable --enable-rpath --enable-extended --enable-vendor --enable-locked-deps --local-rust-root={{WRKDIR}}/bootstrap --prefix={{PREFIX}} --disable-ninja --default-linker={{LOCALBASE}}/toolchain/ravensys-gcc/bin/cc MAKE_ENV= LD_LIBRARY_PATH={{WRKDIR}}/bootstrap/lib LIBSSH2_SYS_USE_PKG_CONFIG=1 OPENSSL_NO_PKG_CONFIG=1 RUST_BACKTRACE=1 PROFILE=release OPENSSL_DIR="{{OPENSSLBASE}}" HOME="{{WRKDIR}}" INSTALL_REQ_TOOLCHAIN= yes VAR_OPSYS[freebsd]= MAKEFILE_LINE=BOOTSTRAP_RUST=1.76.0 MAKEFILE_LINE=BOOTSTRAP_CARGO=1.76.0 VAR_OPSYS[linux]= MAKEFILE_LINE=BOOTSTRAP_RUST=1.76.0 MAKEFILE_LINE=BOOTSTRAP_CARGO=1.76.0 VAR_OPSYS[netbsd]= MAKEFILE_LINE=BOOTSTRAP_RUST=1.76.0 MAKEFILE_LINE=BOOTSTRAP_CARGO=1.76.0 VAR_OPSYS[dragonfly]= MAKEFILE_LINE=BOOTSTRAP_RUST=1.76.0 MAKEFILE_LINE=BOOTSTRAP_CARGO=1.76.0 VAR_OPSYS[midnightbsd]= MAKEFILE_LINE=BOOTSTRAP_RUST=1.76.0 MAKEFILE_LINE=BOOTSTRAP_CARGO=1.76.0 pre-build: ${MKDIR} ${WRKDIR}/bootstrap # Extract OS-specific bootstrap components # then install bootstrap components for F in ${SRC_RUSTC} ${SRC_RUSTSTD} ${SRC_CARGO}; do\ ${TAR} -C ${WRKDIR} -xf ${DISTDIR}/$$F.tar.${COMPEXT}\ --no-same-owner --no-same-permissions;\ ${SETENV} ${CONFIGURE_ENV} ${LOCALBASE}/bin/bash ${WRKDIR}/$$F/install.sh\ --prefix=${WRKDIR}/bootstrap;\ done pre-build-freebsd: ${LN} -s ${LOCALBASE}/toolchain/ravensys-gcc/lib/libstdc++.so \ ${LOCALBASE}/lib/libc++.so pre-build-linux: ${LN} -s ${LOCALBASE}/lib/libz.so.1 ${WRKDIR}/bootstrap/lib do-build: (cd ${BUILD_WRKSRC} && ${SETENV} ${MAKE_ENV} \ ${PYTHON_CMD} x.py build --verbose --config ./config.toml \ --jobs ${MAKE_JOBS_NUMBER}) post-install: ${RM} ${STAGEDIR}${PREFIX}/lib/rustlib/install.log ${RM} ${STAGEDIR}${PREFIX}/lib/rustlib/uninstall.sh ${RM} -r ${STAGEDIR}${PREFIX}/share/doc/rust # Remove cargo-fmt.old, rustfmt.old, cargo-clippy.old, clippy-driver.old ${RM} ${STAGEDIR}${PREFIX}/bin/*.old # Taken from FreeBSD Ports # In post-install, we use the manifests generated during Rust install # to in turn generate the PLIST. We do that because several libraries # have a computed filename based on the absolute path of the source # files. As it is user-specific, we can't know the filename in advance. # # Both rustc and Cargo components install the same README.md and # LICENSE files. The install process backs up the first copy to # install the second. Thus here, we need to remove those backups. # Actually we remove the entire share/doc/rust contents. # We also need to dedup the entries in the generated PLIST, because # both components manifests list them. # # We fix manpage entries in the generated manifests because Rust # installs them uncompressed but the Ports framework compresses them. for f in ${STAGEDIR}${PREFIX}/lib/rustlib/manifest-*; do \ ${SED} -i'' -E \ -e '/share\/doc\/rust/d' \ -e 's|:${STAGEDIR}|:|' \ -e 's|(man/man[1-9]/.*\.[0-9])|\1.gz|' \ $$f; \ ${AWK} '\ /^file:/ { \ file=$$0; \ sub(/^file:/, "", file); \ print file; \ } \ /^dir:/ { \ dir=$$0; \ sub(/^dir:/, "", dir); \ system("find ${STAGEDIR}" dir " -type f | ${SED} -E -e \"s|${STAGEDIR}||\""); \ }' \ $$f >> ${WRKDIR}/.manifest.gen.unsorted; \ ${RM} $$f; \ done ${SORT} -u ${WRKDIR}/.manifest.gen.unsorted > ${WRKDIR}/.manifest.gen.sorted ${CAT} ${WRKDIR}/.manifest.gen.sorted >> ${WRKDIR}/.manifest.single.mktmp # Strip binaries and libraries ${STRIP_CMD} \ ${STAGEDIR}${PREFIX}/bin/cargo \ ${STAGEDIR}${PREFIX}/bin/cargo-clippy \ ${STAGEDIR}${PREFIX}/bin/cargo-fmt \ ${STAGEDIR}${PREFIX}/bin/clippy-driver \ ${STAGEDIR}${PREFIX}/bin/rust-analyzer \ ${STAGEDIR}${PREFIX}/bin/rust-demangler \ ${STAGEDIR}${PREFIX}/bin/rustc \ ${STAGEDIR}${PREFIX}/bin/rustdoc \ ${STAGEDIR}${PREFIX}/bin/rustfmt \ ${STAGEDIR}${PREFIX}/libexec/rust-analyzer-proc-macro-srv \ ${STAGEDIR}${PREFIX}/lib/*.so \ ${STAGEDIR}${PREFIX}/lib/rustlib/*/bin/ll* \ ${STAGEDIR}${PREFIX}/lib/rustlib/*/bin/opt \ ${STAGEDIR}${PREFIX}/lib/rustlib/*/lib/*.so pre-configure: # Use rpath suitable for libz et al. ${REINPLACE_CMD} -e 's|@PREFIX@|${PREFIX}|g' \ -e 's|@OPENSSLLIB@|${OPENSSLLIB}|g' \ ${WRKSRC}/src/bootstrap/src/core/builder.rs # Disable vendor checksums ${REINPLACE_CMD} -e 's/"files":{[^}]*}/"files":{}/' \ ${WRKSRC}/vendor/*/.cargo-checksum.json # Enable rust to find certificates ${REINPLACE_CMD} -e 's|@PREFIX@|${PREFIX}|' \ ${WRKSRC}/vendor/curl-sys/build.rs \ ${WRKSRC}/vendor/openssl-probe/src/lib.rs # remove link to shared libressl, execinfo and zlib # replace static versions with PIC versions (cd ${LOCALBASE}/libressl/lib \ && ${CP} libssl_pic.a libssl.a \ && ${CP} libcrypto_pic.a libcrypto.a \ && ${CP} libtls_pic.a libtls.a \ && ${RM} lib*.so) (cd ${LOCALBASE}/lib \ && ${CP} libexecinfo_pic.a libexecinfo.a \ && ${CP} libz_pic.a libz.a \ && ${RM} libexecinfo.so \ && ${RM} libz.so) # build curl here (obsolete, rust forces bundled now) # ${SETENV} ${CONFIGURE_ENV} ${SH} ${FILESDIR}/build_curl.sh "${PREFIX}" "${CONFIGURE_TARGET}" # (cd ${WRKDIR}/curl-* && ${SETENV} ${CONFIGURE_ENV} ${MAKE_CMD}) # ${INSTALL_DATA} ${WRKDIR}/curl-7.87.0/lib/.libs/libcurl.a \ ${LOCALBASE}/lib/ post-build-freebsd: ${RM} ${LOCALBASE}/lib/libc++.so pre-build-netbsd: ${LN} -s ${LOCALBASE}/toolchain/ravensys-gcc/lib/libgcc_s.so.1 \ ${WRKDIR}/bootstrap/lib/libgcc_s.so.1 pre-build-midnightbsd: ${LN} -s ${LOCALBASE}/toolchain/ravensys-gcc/lib/libstdc++.so \ ${LOCALBASE}/lib/libc++.so post-extract: ${CP} ${MK_TEMPLATES}/config.guess ${WRKSRC}/src/llvm-project/llvm/cmake/config.guess ${CP} ${MK_TEMPLATES}/config.sub ${WRKSRC}/src/llvm-project/llvm/cmake/config.sub do-install: (cd ${BUILD_WRKSRC} && ${SETENV} ${MAKE_ENV} DESTDIR=${STAGEDIR} \ ${PYTHON_CMD} x.py install --verbose --config ./config.toml \ --jobs ${MAKE_JOBS_NUMBER}) post-build-midnightbsd: ${RM} ${LOCALBASE}/lib/libc++.so pre-build-dragonfly: ${LN} -s ${LOCALBASE}/toolchain/ravensys-gcc/lib/libgcc_s.so \ ${WRKDIR}/bootstrap/lib/rustlib/${SFX}/lib/libgcc_pic.so [FILE:753:descriptions/desc.single] Rust is a systems programming language that runs blazingly fast, prevents segfaults, and guarantees thread safety. Performance Rust is blazingly fast and memory-efficient: with no runtime or garbage collector, it can power performance-critical services, run on embedded devices, and easily integrate with other languages. Reliability Rust's rich type system and ownership model guarantee memory-safety and thread-safety -- and enable you to eliminate many classes of bugs at compile-time. Productivity Rust has great documentation, a friendly compiler with useful error messages, and top-notch tooling -- an integrated package manager and build tool, smart multi-editor support with auto-completion and type inspections, an auto-formatter, and more. [FILE:1675:distinfo] 4d214c4189e4dd934d47e869fa5721b2c33dbbbdea21f2fc7fa6df3f38c1dea2 162786892 rustc-1.77.2-src.tar.xz 18e1756d6c218c28055538414bf03a1e65463ccaee7cd8cb2460f1ed379b3fe5 58408566 rustc-1.76.0-x86_64-unknown-dragonfly.tar.zst 596ae0a143c6166f571e78b76d7e423b2dab69ccdaa306ab4c839d17cca0630a 30331046 rust-std-1.76.0-x86_64-unknown-dragonfly.tar.zst 1b7f068272cc3379bc4d6090db29fffe3b70cb4b599eece38aedda9a245d275b 9825503 cargo-1.76.0-x86_64-unknown-dragonfly.tar.zst 3cf6a578df40c4e772416bac114831614c3c8786c64747ed09f645115d5ad3c4 144856204 rustc-1.76.0-x86_64-unknown-freebsd.tar.gz 8a4f3899707f02bce32a6c2694faf039e8cffcd759e2bb625f70f583b50babc3 43856764 rust-std-1.76.0-x86_64-unknown-freebsd.tar.gz 365a45f75310dcad651c92b8a375252c31350dd7f8d88b40b2829141cd198c6d 14139543 cargo-1.76.0-x86_64-unknown-freebsd.tar.gz 529f12c8874f4d912059b5b1d012f0d67bfaa89b7669509a6a2df8512da3f124 111009161 rustc-1.76.0-x86_64-unknown-linux-gnu.tar.gz 403e78b46d0730a21d6b25fe80ec947dc0ac4807c1f0930db68a4866552d839d 45706132 rust-std-1.76.0-x86_64-unknown-linux-gnu.tar.gz 7c8dd6f50fb85d0a9fa6e20dcf2ef5bf1f69b66bcfd220d1859716e1d0516163 12423132 cargo-1.76.0-x86_64-unknown-linux-gnu.tar.gz 3ef659dda22760af881dcd7434cbe12b1aee7915a750b5d6ce1d2b065ea4c808 113678259 rustc-1.76.0-x86_64-unknown-netbsd.tar.gz 1f668f8f574e3ec03848f0cd92fed9b81192b34ea5c0727a304f96fe6dda1776 40548069 rust-std-1.76.0-x86_64-unknown-netbsd.tar.gz f8fc9c05f7c42fd338e13c3b4497a88ffdfe1e7a30dda5883c2e2bc2fb783c9f 13971074 cargo-1.76.0-x86_64-unknown-netbsd.tar.gz ee5f1a1955b0ed413435ef79db28b834ea5f0fb7c8cfb1ce47175cc3bee08fff 2547932 curl-7.87.0.tar.xz [FILE:96:manifests/plist.single] @comment generated from lib/rustlib/manifest-* lib/rustlib/ components rust-installer-version [FILE:1005:patches/patch-compiler_rustc__llvm_build.rs] --- compiler/rustc_llvm/build.rs.orig 2024-04-09 17:20:09 UTC +++ compiler/rustc_llvm/build.rs @@ -346,24 +346,7 @@ fn main() { } let llvm_static_stdcpp = tracked_env_var_os("LLVM_STATIC_STDCPP"); - let llvm_use_libcxx = tracked_env_var_os("LLVM_USE_LIBCXX"); - - let stdcppname = if target.contains("openbsd") { - if target.contains("sparc64") { "estdc++" } else { "c++" } - } else if target.contains("darwin") - || target.contains("freebsd") - || target.contains("windows-gnullvm") - || target.contains("aix") - { - "c++" - } else if target.contains("netbsd") && llvm_static_stdcpp.is_some() { - // NetBSD uses a separate library when relocation is required - "stdc++_p" - } else if llvm_use_libcxx.is_some() { - "c++" - } else { - "stdc++" - }; + let stdcppname = "stdc++"; // RISC-V GCC erroneously requires libatomic for sub-word // atomic operations. Some BSD uses Clang as its system [FILE:271:patches/patch-library_unwind_src_lib.rs] --- library/unwind/src/lib.rs.orig 2024-04-09 17:20:09 UTC +++ library/unwind/src/lib.rs @@ -144,7 +144,7 @@ extern "C" {} extern "C" {} #[cfg(target_os = "dragonfly")] -#[link(name = "gcc_pic")] +#[link(name = "gcc_s")] extern "C" {} #[cfg(target_os = "haiku")] [FILE:417:patches/patch-src_bootstrap_bootstrap.py] --- src/bootstrap/bootstrap.py.orig 2024-04-09 17:20:09 UTC +++ src/bootstrap/bootstrap.py @@ -265,6 +265,7 @@ def default_build_triple(verbose): 'Darwin': 'apple-darwin', 'DragonFly': 'unknown-dragonfly', 'FreeBSD': 'unknown-freebsd', + 'MidnightBSD': 'unknown-freebsd', 'Haiku': 'unknown-haiku', 'NetBSD': 'unknown-netbsd', 'OpenBSD': 'unknown-openbsd', [FILE:856:patches/patch-src_bootstrap_src_core_builder.rs] --- src/bootstrap/src/core/builder.rs.orig 2024-04-09 17:20:09 UTC +++ src/bootstrap/src/core/builder.rs @@ -1684,12 +1684,13 @@ impl<'a> Builder<'a> { Some(format!("-Wl,-rpath,@loader_path/../{libdir}")) } else if !target.is_windows() && !target.contains("aix") && !target.contains("xous") { rustflags.arg("-Clink-args=-Wl,-z,origin"); - Some(format!("-Wl,-rpath,$ORIGIN/../{libdir}")) + Some(format!("-Wl,-rpath,$ORIGIN/../{libdir}:@OPENSSLLIB@")) } else { None }; if let Some(rpath) = rpath { - rustflags.arg(&format!("-Clink-args={rpath}")); + rustflags.arg(&format!("-Clink-arg=-Wl,-z,origin")); + rustflags.arg(&format!("-Clink-arg={rpath}")); } } [FILE:602:patches/patch-src_llvm-project_llvm_cmake_modules_AddLLVM.cmake] --- src/llvm-project/llvm/cmake/modules/AddLLVM.cmake.orig 2024-04-09 17:20:31 UTC +++ src/llvm-project/llvm/cmake/modules/AddLLVM.cmake @@ -2354,7 +2354,7 @@ function(llvm_setup_rpath name) elseif(UNIX) set(_build_rpath "\$ORIGIN/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir}) set(_install_rpath "\$ORIGIN/../lib${LLVM_LIBDIR_SUFFIX}") - if(${CMAKE_SYSTEM_NAME} MATCHES "(FreeBSD|DragonFly)") + if(${CMAKE_SYSTEM_NAME} MATCHES "(FreeBSD|DragonFly|MidnightBSD)") set_property(TARGET ${name} APPEND_STRING PROPERTY LINK_FLAGS " -Wl,-z,origin ") endif() [FILE:629:patches/patch-src_llvm-project_llvm_cmake_modules_HandleLLVMOptions.cmake] --- src/llvm-project/llvm/cmake/modules/HandleLLVMOptions.cmake.orig 2024-04-09 17:20:31 UTC +++ src/llvm-project/llvm/cmake/modules/HandleLLVMOptions.cmake @@ -236,7 +236,7 @@ endif() # Pass -Wl,-z,defs. This makes sure all symbols are defined. Otherwise a DSO # build might work on ELF but fail on MachO/COFF. -if(NOT (CMAKE_SYSTEM_NAME MATCHES "Darwin|FreeBSD|OpenBSD|DragonFly|AIX|OS390" OR +if(NOT (CMAKE_SYSTEM_NAME MATCHES "Darwin|FreeBSD|OpenBSD|DragonFly|MidnightBSD|AIX|OS390" OR WIN32 OR CYGWIN) AND NOT LLVM_USE_SANITIZER) set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-z,defs") [FILE:1139:patches/patch-src_llvm-project_llvm_lib_Support_Unix_Path.inc] --- src/llvm-project/llvm/lib/Support/Unix/Path.inc.orig 2024-04-09 17:20:31 UTC +++ src/llvm-project/llvm/lib/Support/Unix/Path.inc @@ -42,6 +42,9 @@ #if __has_include() #include #endif +#elif defined(__MidnightBSD__) +#include +#include #elif defined(__FreeBSD__) #include #if __FreeBSD_version >= 1300057 @@ -202,6 +205,17 @@ std::string getMainExecutable(const char if (realpath(exe_path, link_path)) return link_path; } +#elif defined(__MidnightBSD__) + // Right now environ symbol is not being linked in on MBSD. It + // appears that elf_aux_info is implemented in MBSD 3.0, so use that. + char exe_path[PATH_MAX]; + if (elf_aux_info(AT_EXECPATH, exe_path, sizeof(exe_path)) == 0) { + char link_path[PATH_MAX]; + if (realpath(exe_path, link_path)) + return link_path; + } + if (getprogpath(exe_path, argv0) != NULL) + return exe_path; #elif defined(__FreeBSD__) // On FreeBSD if the exec path specified in ELF auxiliary vectors is // preferred, if available. /proc/curproc/file and the KERN_PROC_PATHNAME [FILE:439:patches/patch-vendor_curl-sys_build.rs] --- vendor/curl-sys/build.rs.orig 2024-04-09 18:57:20 UTC +++ vendor/curl-sys/build.rs @@ -109,6 +109,7 @@ fn main() { .include("curl/lib") .include("curl/include") .define("BUILDING_LIBCURL", None) + .define("CURL_CA_BUNDLE", "\"@PREFIX@/share/certs/ca-root-nss.crt\"") .define("CURL_DISABLE_DICT", None) .define("CURL_DISABLE_GOPHER", None) .define("CURL_DISABLE_IMAP", None) [FILE:476:patches/patch-vendor_libc_src_unix_bsd_freebsdlike_dragonfly_errno.rs] --- vendor/libc/src/unix/bsd/freebsdlike/dragonfly/errno.rs.orig 2024-04-09 18:57:20 UTC +++ vendor/libc/src/unix/bsd/freebsdlike/dragonfly/errno.rs @@ -1,7 +1,6 @@ // DragonFlyBSD's __error function is declared with "static inline", so it must // be implemented in the libc crate, as a pointer to a static thread_local. f! { - #[deprecated(since = "0.2.77", note = "Use `__errno_location()` instead")] pub fn __error() -> *mut ::c_int { &mut errno } [FILE:424:patches/patch-vendor_libc_src_unix_bsd_freebsdlike_dragonfly_mod.rs] --- vendor/libc/src/unix/bsd/freebsdlike/dragonfly/mod.rs.orig 2024-04-09 18:57:20 UTC +++ vendor/libc/src/unix/bsd/freebsdlike/dragonfly/mod.rs @@ -442,8 +442,8 @@ s_no_extra_traits! { pub d_fileno: ::ino_t, pub d_namlen: u16, pub d_type: u8, - __unused1: u8, - __unused2: u32, + pub d_unused1: u8, + pub d_unused2: u32, pub d_name: [::c_char; 256], } [FILE:436:patches/patch-vendor_openssl-probe_src_lib.rs] --- vendor/openssl-probe/src/lib.rs.orig 2024-04-09 18:57:21 UTC +++ vendor/openssl-probe/src/lib.rs @@ -26,10 +26,7 @@ fn cert_dirs_iter() -> impl Iterator Type { .expect("Failed to get OS"); match str::from_utf8(&os.stdout) { - Ok("FreeBSD\n") => { - let check_hardening = Command::new("sysctl") - .arg("hardening.version") - .output() - .expect("Failed to check if is hardened"); - match str::from_utf8(&check_hardening.stderr) { - Ok("0\n") => Type::HardenedBSD, - Ok(_) => Type::FreeBSD, - Err(_) => Type::FreeBSD, - } - } + Ok("FreeBSD\n") => Type::FreeBSD, Ok("MidnightBSD\n") => Type::MidnightBSD, Ok(_) => Type::Unknown, Err(_) => Type::Unknown, [FILE:891:files/build_curl.sh] #!/bin/sh PREFIX="$1" CONFIGURE_TARGET="$2" cd /construction/rust/curl-* || exit CONFIG_GUESS_DIRS=$(find * -name config.guess -o -name config.sub | xargs -n 1 dirname 2>/dev/null) for _D in ${CONFIG_GUESS_DIRS}; do \ rm "${_D}/config.guess"; \ cp /xports/Mk/Templates/config.guess "${_D}/config.guess"; \ chmod a+rx "${_D}/config.guess"; \ rm "${_D}/config.sub"; \ cp /xports/Mk/Templates/config.sub "${_D}/config.sub"; \ chmod a+rx "${_D}/config.sub"; \ done env MAKE=gmake \ CONFIG_SITE=/xports/Mk/Templates/config.site \ /bin/sh configure \ --prefix="${PREFIX}" \ --build="${CONFIGURE_TARGET}" \ --disable-werror \ --disable-shared \ --disable-imap \ --disable-pop3 \ --disable-smtp \ --with-ca-bundle="${PREFIX}/share/certs/ca-root-nss.crt" \ --enable-cookies \ --without-nghttp2 \ --with-ssl="${PREFIX}/libressl" \ --enable-pthreads \ --enable-threaded-resolver [FILE:583:files/special.mk] .if "${OPSYS}" == "DragonFly" DF_INDEX+= 2 3 4 COMPEXT= zst .elif "${OPSYS}" == "FreeBSD" DF_INDEX+= 5 6 7 COMPEXT= gz .elif "${OPSYS}" == "Linux" DF_INDEX+= 8 9 10 COMPEXT= gz SFX= ${ARCH_STANDARD}-unknown-linux-gnu .elif "${OPSYS}" == "NetBSD" DF_INDEX+= 11 12 13 COMPEXT= gz .elif "${OPSYS}" == "MidnightBSD" DF_INDEX+= 5 6 7 COMPEXT= gz SFX= ${ARCH_STANDARD}-unknown-freebsd .endif SFX?= ${ARCH_STANDARD}-unknown-${OPSYS:tl} SRC_RUSTC?= rustc-${BOOTSTRAP_RUST}-${SFX} SRC_RUSTSTD?= rust-std-${BOOTSTRAP_RUST}-${SFX} SRC_CARGO?= cargo-${BOOTSTRAP_CARGO}-${SFX}