Merge pull request #137741 from emilazy/more-aarch64-darwin-fixes

{darwin.trash,rpm,dash,jwhois}: fix on aarch64-darwin
This commit is contained in:
Domen Kožar
2021-09-14 09:27:38 +02:00
committed by GitHub
5 changed files with 35 additions and 53 deletions
+1 -1
View File
@@ -7,7 +7,7 @@ index 5e4306f..9c975fc 100644
@echo ---- Compiling:
@echo ======================================
- $(CC) -O2 -Wall -Wextra -Wpartial-availability -Wno-unguarded-availability -force_cpusubtype_ALL -mmacosx-version-min=10.7 -arch i386 -arch x86_64 -framework AppKit -framework ScriptingBridge -o $@ $(SOURCE_FILES)
+ $(CC) -O2 -Wall -Wextra -Wpartial-availability -Wno-unguarded-availability -force_cpusubtype_ALL -mmacosx-version-min=10.7 -arch x86_64 -framework AppKit -framework ScriptingBridge -o $@ $(SOURCE_FILES)
+ $(CC) -O2 -Wall -Wextra -Wpartial-availability -Wno-unguarded-availability -framework AppKit -framework ScriptingBridge -o $@ $(SOURCE_FILES)
analyze:
@echo
@@ -1,41 +0,0 @@
From 7e75779eaeacdbb46a387a59d9aaf1481a1da3e5 Mon Sep 17 00:00:00 2001
From: Adrian Gierakowski <agierakowski@gmail.com>
Date: Sun, 19 Jul 2020 08:38:05 +0100
Subject: [PATCH] fix dirent64 et al on darwin
---
configure.ac | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/configure.ac b/configure.ac
index b8faca9..cee1e4d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -139,6 +139,7 @@ if test "$ac_cv_func_signal" != yes; then
[klibc has bsd_signal instead of signal])])
fi
+dnl TODO: stat64 is deprecated since macOS 10.6
dnl Check for stat64 (dietlibc/klibc).
AC_CHECK_FUNC(stat64,, [
AC_DEFINE(fstat64, fstat, [64-bit operations are the same as 32-bit])
@@ -155,6 +156,16 @@ AC_CHECK_FUNC(open64,, [
AC_DEFINE(open64, open, [64-bit operations are the same as 32-bit])
])
+dnl OS X apparently has stat64 but not readdir64.
+AC_CHECK_FUNC(readdir64,, [
+ AC_DEFINE(readdir64, readdir, [64-bit operations are the same as 32-bit])
+])
+
+dnl OS X apparently has stat64 but not dirent64.
+AC_CHECK_TYPE(struct dirent64,, [
+ AC_DEFINE(dirent64, dirent, [64-bit operations are the same as 32-bit])
+],[#include <dirent.h>])
+
dnl Check if struct stat has st_mtim.
AC_MSG_CHECKING(for stat::st_mtim)
AC_COMPILE_IFELSE(
--
2.15.1
+21 -9
View File
@@ -1,30 +1,42 @@
{ lib, stdenv, buildPackages, autoreconfHook, fetchurl, libedit }:
{ lib
, stdenv
, buildPackages
, autoreconfHook
, fetchurl
, fetchpatch
, libedit
}:
stdenv.mkDerivation rec {
pname = "dash";
version = "0.5.11.2";
version = "0.5.11.4";
src = fetchurl {
url = "http://gondor.apana.org.au/~herbert/dash/files/${pname}-${version}.tar.gz";
sha256 = "0pvdpm1cgfbc25ramn4305a0158yq031q1ain4dc972rnxl7vyq0";
sha256 = "13g06zqfy4n7jkrbb5l1vw0xcnjvq76i16al8fjc5g33afxbf5af";
};
hardeningDisable = [ "format" ];
patches = [
(fetchurl {
(fetchpatch {
# Dash executes code when noexec ("-n") is specified
# https://www.openwall.com/lists/oss-security/2020/11/11/3
url = "https://git.kernel.org/pub/scm/utils/dash/dash.git/patch/?id=29d6f2148f10213de4e904d515e792d2cf8c968e";
sha256 = "08q90bx36ixwlcj331dh7420qyj8i0qh1cc1gljrhd83fhl9w0y5";
sha256 = "0aadb7aaaan6jxmi6icv4p5gqx7k510yszaqsa29b5giyxz5l9i1";
})
# aarch64-darwin fix from upstream; remove on next release
(fetchpatch {
url = "https://git.kernel.org/pub/scm/utils/dash/dash.git/patch/?id=6f6d1f2da03468c0e131fdcbdcfa9771ffca2614";
sha256 = "16iz2ylkyhpxqq411ns8pjk8rizh6afhavvsf052wvzsnmmlvfbw";
})
] ++ lib.optionals stdenv.isDarwin [
# Temporary fix until a proper one is accepted upstream
./0001-fix-dirent64-et-al-on-darwin.patch
];
# configure.ac patched; remove on next release
nativeBuildInputs = [ autoreconfHook ];
depsBuildBuild = [ buildPackages.stdenv.cc ];
nativeBuildInputs = lib.optional stdenv.isDarwin autoreconfHook;
buildInputs = [ libedit ];
configureFlags = [ "--with-libedit" ];
+5
View File
@@ -18,6 +18,11 @@ stdenv.mkDerivation rec {
makeFlags = [ "AR=${stdenv.cc.bintools.targetPrefix}ar" ];
# Work around error from <stdio.h> on aarch64-darwin:
# error: 'TARGET_OS_IPHONE' is not defined, evaluates to 0 [-Werror,-Wundef-prefix=TARGET_OS_]
# TODO: this should probably be fixed at a lower level than this?
NIX_CFLAGS_COMPILE = lib.optional stdenv.isDarwin "-Wno-undef-prefix";
meta = {
description = "A client for the WHOIS protocol allowing you to query the owner of a domain name";
homepage = "https://www.gnu.org/software/jwhois/";
@@ -36,14 +36,20 @@ stdenv.mkDerivation rec {
"--sharedstatedir=/com"
];
# Small fixes for ndb on darwin
# https://github.com/rpm-software-management/rpm/pull/1465
patches = [
# Small fixes for ndb on darwin
# https://github.com/rpm-software-management/rpm/pull/1465
(fetchpatch {
name = "darwin-support.patch";
url = "https://github.com/rpm-software-management/rpm/commit/2d20e371d5e38f4171235e5c64068cad30bda557.patch";
sha256 = "0p3j5q5a4hl357maf7018k3826jhcpqg6wfrnccrkv30g0ayk171";
})
# Fix build on aarch64-darwin
# https://github.com/rpm-software-management/rpm/pull/1775
(fetchpatch {
url = "https://github.com/emilazy/rpm/commit/45120e756930b4787ea2e06fb8a9e623ea13f2f3.patch";
sha256 = "0zzblwx9apxyjsri4cxd09y9b2hs57r2fck98939j1qgcwy732ar";
})
];
postPatch = ''