mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-03 12:23:02 +00:00
commit
a760f99e22
31
pkgs/tools/text/gawk/darwin-no-pma.patch
Normal file
31
pkgs/tools/text/gawk/darwin-no-pma.patch
Normal file
@ -0,0 +1,31 @@
|
||||
https://git.savannah.gnu.org/cgit/gawk.git/patch/?id=e0b7737930f8a677d3c509f8ce72b9130965ec0a
|
||||
--- a/m4/pma.m4
|
||||
+++ b/m4/pma.m4
|
||||
@@ -23,15 +23,18 @@ then
|
||||
[LDFLAGS="${LDFLAGS} -no-pie"
|
||||
export LDFLAGS])
|
||||
;;
|
||||
- *darwin*)
|
||||
- # 23 October 2022: See README_d/README.macosx for
|
||||
- # the details on what's happening here. See also
|
||||
- # the manual.
|
||||
-
|
||||
- # Compile as Intel binary all the time, even on M1.
|
||||
- CFLAGS="${CFLAGS} -arch x86_64"
|
||||
- LDFLAGS="${LDFLAGS} -Xlinker -no_pie"
|
||||
- export CFLAGS LDFLAGS
|
||||
+ *darwin*)
|
||||
+ # 27 November 2022: PMA only works on Intel.
|
||||
+ case $host in
|
||||
+ x86_64-*)
|
||||
+ LDFLAGS="${LDFLAGS} -Xlinker -no_pie"
|
||||
+ export LDFLAGS
|
||||
+ ;;
|
||||
+ *)
|
||||
+ # disable on all other macOS systems
|
||||
+ use_persistent_malloc=no
|
||||
+ ;;
|
||||
+ esac
|
||||
;;
|
||||
*cygwin* | *CYGWIN* | *solaris2.11* | freebsd13.* | openbsd7.* )
|
||||
true # nothing do, exes on these systems are not PIE
|
@ -2,6 +2,7 @@
|
||||
# TODO: links -lsigsegv but loses the reference for some reason
|
||||
, withSigsegv ? (false && stdenv.hostPlatform.system != "x86_64-cygwin"), libsigsegv
|
||||
, interactive ? false, readline
|
||||
, autoreconfHook # no-pma fix
|
||||
|
||||
/* Test suite broke on:
|
||||
stdenv.isCygwin # XXX: `test-dup2' segfaults on Cygwin 6.1
|
||||
@ -17,18 +18,26 @@ assert (doCheck && stdenv.isLinux) -> glibcLocales != null;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gawk" + lib.optionalString interactive "-interactive";
|
||||
version = "5.1.1";
|
||||
version = "5.2.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnu/gawk/gawk-${version}.tar.xz";
|
||||
sha256 = "18kybw47fb1sdagav7aj95r9pp09r5gm202y3ahvwjw9dqw2jxnq";
|
||||
hash = "sha256-ZzVTuR+eGMxXku1RB1341RDJBA9VCm904Jya3SQ6fk8=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Pull upstream fix for aarch64-darwin where pma does not work.
|
||||
# Can be removed after next gawk release.
|
||||
./darwin-no-pma.patch
|
||||
];
|
||||
|
||||
# When we do build separate interactive version, it makes sense to always include man.
|
||||
outputs = [ "out" "info" ]
|
||||
++ lib.optional (!interactive) "man";
|
||||
|
||||
nativeBuildInputs = lib.optional (doCheck && stdenv.isLinux) glibcLocales;
|
||||
nativeBuildInputs = lib.optional (doCheck && stdenv.isLinux) glibcLocales
|
||||
# no-pma fix
|
||||
++ [ autoreconfHook ];
|
||||
|
||||
buildInputs = lib.optional withSigsegv libsigsegv
|
||||
++ lib.optional interactive readline
|
||||
|
Loading…
Reference in New Issue
Block a user