# Buildsheet autogenerated by ravenadm tool -- Do not edit. NAMEBASE= rust VERSION= 1.88.0 KEYWORDS= lang VARIANTS= std SDESC[std]= 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.88.0-src.tar.xz:main DISTFILE[2]= rustc-1.87.0-x86_64-unknown-dragonfly.tar.zst:dflyboot DISTFILE[3]= rust-std-1.87.0-x86_64-unknown-dragonfly.tar.zst:dflyboot DISTFILE[4]= cargo-1.87.0-x86_64-unknown-dragonfly.tar.zst:dflyboot DISTFILE[5]= rustc-1.87.0-x86_64-unknown-freebsd.tar.gz:main DISTFILE[6]= rust-std-1.87.0-x86_64-unknown-freebsd.tar.gz:main DISTFILE[7]= cargo-1.87.0-x86_64-unknown-freebsd.tar.gz:main DISTFILE[8]= rustc-1.87.0-x86_64-unknown-linux-gnu.tar.gz:main DISTFILE[9]= rust-std-1.87.0-x86_64-unknown-linux-gnu.tar.gz:main DISTFILE[10]= cargo-1.87.0-x86_64-unknown-linux-gnu.tar.gz:main DISTFILE[11]= rustc-1.87.0-x86_64-unknown-netbsd.tar.gz:main DISTFILE[12]= rust-std-1.87.0-x86_64-unknown-netbsd.tar.gz:main DISTFILE[13]= cargo-1.87.0-x86_64-unknown-netbsd.tar.gz:main DISTFILE[14]= curl-7.87.0.tar.xz:curl DF_INDEX= 1 14 SPKGS[std]= single OPTIONS_AVAILABLE= none OPTIONS_STANDARD= none ONLY_FOR_OPSYS= dragonfly freebsd linux netbsd midnightbsd BUILD_DEPENDS= bash:primary:std cmake:primary:std ncurses:primary:std RUN_DEPENDS= libexecinfo:dev:std EXRUN[single]= ravensys-gcc:compilers:std ravensys-gcc:cxx_run:std ravensys-gcc:libs:std ravensys-binutils:single:std USES= cpe gmake zlib:build python:build shebangfix execinfo c++:single dos2unix ssl:build rootca:single DISTNAME= rustc-1.88.0-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 library/portable-simd/subtree-sync.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 MOUNT_PROCFS= yes VAR_OPSYS[freebsd]= MAKEFILE_LINE=BOOTSTRAP_RUST=1.87.0 MAKEFILE_LINE=BOOTSTRAP_CARGO=1.87.0 VAR_OPSYS[linux]= MAKEFILE_LINE=BOOTSTRAP_RUST=1.87.0 MAKEFILE_LINE=BOOTSTRAP_CARGO=1.87.0 VAR_OPSYS[netbsd]= MAKEFILE_LINE=BOOTSTRAP_RUST=1.87.0 MAKEFILE_LINE=BOOTSTRAP_CARGO=1.87.0 VAR_OPSYS[dragonfly]= MAKEFILE_LINE=BOOTSTRAP_RUST=1.87.0 MAKEFILE_LINE=BOOTSTRAP_CARGO=1.87.0 VAR_OPSYS[midnightbsd]= MAKEFILE_LINE=BOOTSTRAP_RUST=1.87.0 MAKEFILE_LINE=BOOTSTRAP_CARGO=1.87.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: # copy libz.so.1 because it's deleted in pre-configure ${CP} ${LOCALBASE}/lib/libz.so.1 ${WRKDIR}/bootstrap/lib do-build: (cd ${BUILD_WRKSRC} && ${SETENV} ${MAKE_ENV} \ ${PYTHON_CMD} x.py build --verbose --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 # relocate bash completion scripts ${MKDIR} ${STAGEDIR}${PREFIX}/etc/bash_completion.d ${MV} ${STAGEDIR}/etc/bash_completion.d/cargo \ ${STAGEDIR}${PREFIX}/etc/bash_completion.d/cargo ${RM} -r ${STAGEDIR}/etc # 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. for f in ${STAGEDIR}${PREFIX}/lib/rustlib/manifest-*; do \ ${SED} -i'' -E \ -e '/share\/doc\/rust/d' \ -e '/bash_completion/d' \ -e 's|:${STAGEDIR}|:|' \ $$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/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/*/bin/rust-lld \ ${STAGEDIR}${PREFIX}/lib/rustlib/*/bin/rust-objcopy \ ${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/cargo.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 # copy libz.so.1 because it's deleted in pre-configure ${CP} ${LOCALBASE}/lib/libz.so.1 ${WRKDIR}/bootstrap/lib 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 --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 # modify numerous versions of libc. I hate this aspect of rust #@@ -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 # } .for libcver in 94 97 107 112 119 121 124 155 168 169 170 171 172 ${REINPLACE_CMD} -e '/__errno_location/d' \ ${WRKSRC}/vendor/libc-0.2.${libcver}/src/unix/bsd/freebsdlike/dragonfly/errno.rs .endfor [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] 0c1dcbb4f762513d021e1a282c0ac58c0a423642b3a6bf581cafb5414df4193e 283294344 rustc-1.88.0-src.tar.xz ff2821f156f4f3f1d9b26323f8d4b221eece2582b721ed436c963bfc50817c8a 71659743 rustc-1.87.0-x86_64-unknown-dragonfly.tar.zst f720cd61d2ce15d73a7c8567872f13c420d6b5804ba96f71356e6ce1bd6817ed 34254854 rust-std-1.87.0-x86_64-unknown-dragonfly.tar.zst cbdb28d493d1b78236fa843baf87196020ad9771a19b435a72a2386948ed8be4 10116318 cargo-1.87.0-x86_64-unknown-dragonfly.tar.zst 9a42dec957286c15e2faf1bf5fcb0823314ed5faa6eb9d14f1f146b456ceb51e 167778561 rustc-1.87.0-x86_64-unknown-freebsd.tar.gz a87508322169653bd082652cef03a015f98840ab245135b6f072b53c14cd8d6e 47539890 rust-std-1.87.0-x86_64-unknown-freebsd.tar.gz 811d3e5aac27204cb09e21712a9a1da3b34b0bd78f69782a9535af9b4272d2b2 15455994 cargo-1.87.0-x86_64-unknown-freebsd.tar.gz 1cffeb2f402efb594baf1bc9e752dc9dc5cfdd22230d54b56f5ff05c429795b9 127276937 rustc-1.87.0-x86_64-unknown-linux-gnu.tar.gz 68e2cb00d28b42caea0d07be6fe603ef28389dfb02f19013f2c57e5783831328 49935889 rust-std-1.87.0-x86_64-unknown-linux-gnu.tar.gz 76902b7b786ab483de87e8191b9b329de100360175cd8e0a6e29443189e06368 13789051 cargo-1.87.0-x86_64-unknown-linux-gnu.tar.gz dad5e67367bd0d57a7bb3dd0af0cee95f34269587864be13e2063416f6f526f8 179203850 rustc-1.87.0-x86_64-unknown-netbsd.tar.gz 5801bf21539e776c1f21a3027357b741b77227bf10985383db53fa15d683d0ed 43956774 rust-std-1.87.0-x86_64-unknown-netbsd.tar.gz 6d8b4bfaa2caec8e0c29a01f7f73130ad2580908478ca36421f3f51aa7b1c64d 15414383 cargo-1.87.0-x86_64-unknown-netbsd.tar.gz ee5f1a1955b0ed413435ef79db28b834ea5f0fb7c8cfb1ce47175cc3bee08fff 2547932 curl-7.87.0.tar.xz [FILE:124:manifests/plist.single] @comment generated from lib/rustlib/manifest-* etc/bash_completion.d/cargo lib/rustlib/ components rust-installer-version [FILE:1041:patches/patch-compiler_rustc__llvm_build.rs] --- compiler/rustc_llvm/build.rs.orig 2025-06-23 19:24:54 UTC +++ compiler/rustc_llvm/build.rs @@ -363,25 +363,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") - || target.contains("ohos") - { - "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:292:patches/patch-library_unwind_src_lib.rs] --- library/unwind/src/lib.rs.orig 2025-06-23 19:24:54 UTC +++ library/unwind/src/lib.rs @@ -154,7 +154,7 @@ unsafe extern "C" {} unsafe extern "C" {} #[cfg(target_os = "dragonfly")] -#[link(name = "gcc_pic")] +#[link(name = "gcc_s")] unsafe extern "C" {} #[cfg(target_os = "haiku")] [FILE:417:patches/patch-src_bootstrap_bootstrap.py] --- src/bootstrap/bootstrap.py.orig 2025-06-23 19:24:54 UTC +++ src/bootstrap/bootstrap.py @@ -317,6 +317,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:765:patches/patch-src_bootstrap_src_core_builder_cargo.rs] --- src/bootstrap/src/core/builder/cargo.rs.orig 2025-06-23 19:24:54 UTC +++ src/bootstrap/src/core/builder/cargo.rs @@ -252,12 +252,13 @@ impl Cargo { && !target.contains("xous") { self.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 { - self.rustflags.arg(&format!("-Clink-args={rpath}")); + self.rustflags.arg(&format!("-Clink-arg=-Wl,-z,origin")); + self.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 2025-06-23 19:24:54 UTC +++ src/llvm-project/llvm/cmake/modules/AddLLVM.cmake @@ -2526,7 +2526,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:651:patches/patch-src_llvm-project_llvm_cmake_modules_HandleLLVMOptions.cmake] --- src/llvm-project/llvm/cmake/modules/HandleLLVMOptions.cmake.orig 2025-06-23 19:24:54 UTC +++ src/llvm-project/llvm/cmake/modules/HandleLLVMOptions.cmake @@ -312,7 +312,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|Emscripten" OR +if(NOT (CMAKE_SYSTEM_NAME MATCHES "Darwin|FreeBSD|OpenBSD|DragonFly|MidnightBSD|AIX|OS390|Emscripten" 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 2025-06-23 19:24:54 UTC +++ src/llvm-project/llvm/lib/Support/Unix/Path.inc @@ -37,6 +37,9 @@ #if __has_include() #include #endif +#elif defined(__MidnightBSD__) +#include +#include #elif defined(__FreeBSD__) #include #if __FreeBSD_version >= 1300057 @@ -197,6 +200,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:477:patches/patch-vendor_curl-sys-0.4.52+curl-7.81.0_build.rs] --- vendor/curl-sys-0.4.52+curl-7.81.0/build.rs.orig 2025-06-23 19:24:54 UTC +++ vendor/curl-sys-0.4.52+curl-7.81.0/build.rs @@ -111,6 +111,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:477:patches/patch-vendor_curl-sys-0.4.80+curl-8.12.1_build.rs] --- vendor/curl-sys-0.4.80+curl-8.12.1/build.rs.orig 2025-06-23 19:24:54 UTC +++ vendor/curl-sys-0.4.80+curl-8.12.1/build.rs @@ -117,6 +117,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:303:patches/patch-vendor_lzma-sys-0.1.20_config.h] --- vendor/lzma-sys-0.1.20/config.h.orig 2025-06-23 19:24:54 UTC +++ vendor/lzma-sys-0.1.20/config.h @@ -35,7 +35,6 @@ // change to `MYTHREAD_WIN95` if targeting Windows XP or earlier #define MYTHREAD_VISTA 1 #else - #define _POSIX_C_SOURCE 199506L #define MYTHREAD_POSIX 1 #endif [FILE:935:patches/patch-vendor_notify-8.0.0_Cargo.toml] --- vendor/notify-8.0.0/Cargo.toml.orig 2025-06-23 19:24:54 UTC +++ vendor/notify-8.0.0/Cargo.toml @@ -74,10 +74,10 @@ macos_kqueue = [ serde = ["notify-types/serde"] serialization-compat-6 = ["notify-types/serialization-compat-6"] -[target."cfg(any(target_os=\"freebsd\", target_os=\"openbsd\", target_os = \"netbsd\", target_os = \"dragonflybsd\", target_os = \"ios\"))".dependencies.kqueue] +[target."cfg(any(target_os=\"freebsd\", target_os=\"openbsd\", target_os = \"netbsd\", target_os = \"dragonfly\", target_os = \"ios\"))".dependencies.kqueue] version = "1.0.8" -[target."cfg(any(target_os=\"freebsd\", target_os=\"openbsd\", target_os = \"netbsd\", target_os = \"dragonflybsd\", target_os = \"ios\"))".dependencies.mio] +[target."cfg(any(target_os=\"freebsd\", target_os=\"openbsd\", target_os = \"netbsd\", target_os = \"dragonfly\", target_os = \"ios\"))".dependencies.mio] version = "1.0" features = ["os-ext"] [FILE:492:patches/patch-vendor_openssl-probe-0.1.5_src_lib.rs] --- vendor/openssl-probe-0.1.5/src/lib.rs.orig 2025-06-28 00:05:37 UTC +++ vendor/openssl-probe-0.1.5/src/lib.rs @@ -26,11 +26,8 @@ fn cert_dirs_iter() -> impl Iterator impl Ite [ "/var/ssl", "/usr/share/ssl", - "/usr/local/ssl", - "/usr/local/openssl", - "/usr/local/etc/openssl", - "/usr/local/share", "/usr/lib/ssl", + "@PREFIX@/share", "/usr/ssl", "/etc/openssl", "/etc/pki/ca-trust/extracted/pem", [FILE:979:patches/patch-vendor_os__info-3.10.0_src_freebsd_mod.rs] --- vendor/os_info-3.10.0/src/freebsd/mod.rs.orig 2025-06-23 19:24:54 UTC +++ vendor/os_info-3.10.0/src/freebsd/mod.rs @@ -26,23 +26,7 @@ pub fn current_platform() -> Info { fn get_os() -> Type { match uname("-s").as_deref() { Some("MidnightBSD") => Type::MidnightBSD, - Some("FreeBSD") => { - let check_hardening = match Command::new("/sbin/sysctl") - .arg("hardening.version") - .output() - { - Ok(o) => o, - Err(e) => { - error!("Failed to invoke '/sbin/sysctl': {:?}", e); - return Type::FreeBSD; - } - }; - match str::from_utf8(&check_hardening.stderr) { - Ok("0\n") => Type::HardenedBSD, - Ok(_) => Type::FreeBSD, - Err(_) => Type::FreeBSD, - } - } + Some("FreeBSD") => Type::FreeBSD, _ => 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}