1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5}:
6
7stdenv.mkDerivation {
8 pname = "memorymapping";
9 version = "unstable-2014-02-20";
10
11 src = fetchFromGitHub {
12 owner = "NimbusKit";
13 repo = "memorymapping";
14 rev = "fc285afe13cb9d56a40c647b8ed6d6bd40636af7";
15 sha256 = "sha256-9u/QvK9TDsKxcubINH2OAbx5fXXkKF0+YT7LoLDaF0M=";
16 };
17
18 dontConfigure = true;
19
20 buildPhase = ''
21 runHook preBuild
22
23 $CC -c src/fmemopen.c
24 $AR rcs libmemorymapping.a fmemopen.o
25 sed -e '1i#include <stdio.h>' -i src/fmemopen.h
26
27 runHook postBuild
28 '';
29
30 installPhase = ''
31 runHook preInstall
32
33 install -D libmemorymapping.a "$out"/lib/libmemorymapping.a
34 install -D src/fmemopen.h "$out"/include/fmemopen.h
35
36 runHook postInstall
37 '';
38
39 meta = with lib; {
40 homepage = "https://nimbuskit.github.io/memorymapping/";
41 description = "fmemopen for Mac OS and iOS";
42 license = licenses.asl20;
43 maintainers = with maintainers; [ veprbl ];
44 # Uses BSD-style funopen() to implement glibc-style fmemopen().
45 # Add more BSDs if you need to.
46 platforms = platforms.darwin;
47 broken = stdenv.hostPlatform.isAarch64;
48 };
49}