squashfs-tools-ng: 0.7 -> 0.8
Gave up trying to build on Darwin.
This commit is contained in:
parent
9ef088c603
commit
b7c59cc7dc
@ -1,103 +0,0 @@
|
|||||||
From ea1bc0fcfd33191002c5d1f7072c1c02bb7ec4af Mon Sep 17 00:00:00 2001
|
|
||||||
From: Alyssa Ross <hi@alyssa.is>
|
|
||||||
Date: Thu, 14 Nov 2019 15:45:46 +0000
|
|
||||||
Subject: [PATCH] Fix build on BSD systems
|
|
||||||
|
|
||||||
I tested FreeBSD, DragonflyBSD, NetBSD and OpenBSD and the endian
|
|
||||||
macros weren't necessary (and in fact caused errors) on all of them.
|
|
||||||
|
|
||||||
Because OpenBSD ships with an ancient GCC that doesn't support the
|
|
||||||
checked addition/multiplication builtins, the build there would fail
|
|
||||||
unless built with CC=cc or CC=clang. I changed configure.ac to prefer
|
|
||||||
cc over gcc, so that the distribution's compiler preference is
|
|
||||||
respected. (The default is [gcc cc]). I had to move AC_PROG_CC above
|
|
||||||
LT_INIT because otherwise LT_INIT would run AC_PROG_CC first, and we
|
|
||||||
wouldn't have a chance to use non-default parameters.
|
|
||||||
---
|
|
||||||
configure.ac | 2 +-
|
|
||||||
include/util/compat.h | 13 +++++--------
|
|
||||||
lib/common/dirstack.c | 1 +
|
|
||||||
lib/common/mkdir_p.c | 2 +-
|
|
||||||
4 files changed, 8 insertions(+), 10 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/configure.ac b/configure.ac
|
|
||||||
index 018b3f6..19ea0ed 100644
|
|
||||||
--- a/configure.ac
|
|
||||||
+++ b/configure.ac
|
|
||||||
@@ -3,8 +3,8 @@ AC_INIT([squashfs-tools-ng], [0.7], [goliath@infraroot.at], squashfs-tools-ng)
|
|
||||||
AC_CONFIG_MACRO_DIR([m4])
|
|
||||||
AM_INIT_AUTOMAKE([foreign dist-xz subdir-objects])
|
|
||||||
AM_SILENT_RULES([yes])
|
|
||||||
+AC_PROG_CC([cc gcc clang])
|
|
||||||
LT_INIT
|
|
||||||
-AC_PROG_CC
|
|
||||||
AC_PROG_CC_C99
|
|
||||||
AC_PROG_INSTALL
|
|
||||||
AC_SYS_LARGEFILE
|
|
||||||
diff --git a/include/util/compat.h b/include/util/compat.h
|
|
||||||
index 74d0b6f..f53fd0e 100644
|
|
||||||
--- a/include/util/compat.h
|
|
||||||
+++ b/include/util/compat.h
|
|
||||||
@@ -7,6 +7,10 @@
|
|
||||||
#ifndef COMPAT_H
|
|
||||||
#define COMPAT_H
|
|
||||||
|
|
||||||
+#ifndef __linux__
|
|
||||||
+#define O_PATH 0
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
#if defined(__APPLE__)
|
|
||||||
#include <libkern/OSByteOrder.h>
|
|
||||||
|
|
||||||
@@ -17,14 +21,8 @@
|
|
||||||
#define le32toh(x) OSSwapLittleToHostInt32(x)
|
|
||||||
#define le16toh(x) OSSwapLittleToHostInt16(x)
|
|
||||||
#define le64toh(x) OSSwapLittleToHostInt64(x)
|
|
||||||
-#elif defined(__OpenBSD__)
|
|
||||||
+#elif defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__)
|
|
||||||
#include <sys/endian.h>
|
|
||||||
-#elif defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__)
|
|
||||||
-#include <sys/endian.h>
|
|
||||||
-
|
|
||||||
-#define le16toh(x) letoh16(x)
|
|
||||||
-#define le32toh(x) letoh32(x)
|
|
||||||
-#define le64toh(x) letoh64(x)
|
|
||||||
#elif defined(_WIN32) || defined(__WINDOWS__)
|
|
||||||
#define htole16(x) (x)
|
|
||||||
#define htole32(x) (x)
|
|
||||||
@@ -89,7 +87,6 @@
|
|
||||||
#else
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <sys/stat.h>
|
|
||||||
-#include <sys/sysmacros.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* COMPAT_H */
|
|
||||||
diff --git a/lib/common/dirstack.c b/lib/common/dirstack.c
|
|
||||||
index 8f73898..f8d1278 100644
|
|
||||||
--- a/lib/common/dirstack.c
|
|
||||||
+++ b/lib/common/dirstack.c
|
|
||||||
@@ -5,6 +5,7 @@
|
|
||||||
* Copyright (C) 2019 David Oberhollenzer <goliath@infraroot.at>
|
|
||||||
*/
|
|
||||||
#include "common.h"
|
|
||||||
+#include "util/compat.h"
|
|
||||||
|
|
||||||
#include <string.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
diff --git a/lib/common/mkdir_p.c b/lib/common/mkdir_p.c
|
|
||||||
index cb433b3..95187ba 100644
|
|
||||||
--- a/lib/common/mkdir_p.c
|
|
||||||
+++ b/lib/common/mkdir_p.c
|
|
||||||
@@ -7,7 +7,7 @@
|
|
||||||
#include "common.h"
|
|
||||||
|
|
||||||
#include <string.h>
|
|
||||||
-#include <alloca.h>
|
|
||||||
+#include <stdlib.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <errno.h>
|
|
||||||
|
|
||||||
--
|
|
||||||
2.23.0
|
|
||||||
|
|
@ -1,20 +1,17 @@
|
|||||||
{ stdenv, lib, fetchurl, fetchpatch, autoreconfHook, doxygen, graphviz, perl
|
{ stdenv, lib, fetchurl, doxygen, graphviz, perl, pkgconfig
|
||||||
, pkgconfig, lz4, xz, zlib, zstd
|
, lz4, xz, zlib, zstd
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "squashfs-tools-ng";
|
pname = "squashfs-tools-ng";
|
||||||
version = "0.7";
|
version = "0.8";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://infraroot.at/pub/squashfs/squashfs-tools-ng-${version}.tar.xz";
|
url = "https://infraroot.at/pub/squashfs/squashfs-tools-ng-${version}.tar.xz";
|
||||||
sha256 = "01yn621dnsfhrah3qj1xh6ynag7r3nvihc510sa5frapkyg9nw8n";
|
sha256 = "1km18qm9kgmm39aj9yq2aaq99708nmj9cpa9lqf5bp1y617bhh7y";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = lib.optional (!stdenv.isLinux) ./0001-Fix-build-on-BSD-systems.patch;
|
nativeBuildInputs = [ doxygen graphviz pkgconfig perl ];
|
||||||
|
|
||||||
nativeBuildInputs = [ doxygen graphviz pkgconfig perl ]
|
|
||||||
++ lib.optional (!stdenv.isLinux) autoreconfHook;
|
|
||||||
buildInputs = [ zlib xz lz4 zstd ];
|
buildInputs = [ zlib xz lz4 zstd ];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
@ -22,5 +19,6 @@ stdenv.mkDerivation rec {
|
|||||||
license = licenses.gpl3Plus;
|
license = licenses.gpl3Plus;
|
||||||
maintainers = with maintainers; [ qyliss ];
|
maintainers = with maintainers; [ qyliss ];
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
|
broken = stdenv.isDarwin;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user