Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Small changes needed to compile on MacOS/Linux using libarchive, libcurl and openssl from pkg-config .
Keve committed 1 year ago
commit f57c73841a94d5a024e69a7edb818620d8731a45
parent fcc8461
7 files changed +40 -8
modified .gitignore
@@ -14,6 +14,7 @@
*.log
*.gz
*.pc
+
*.dylib
jimsh0
tags
TAGS
modified auto.def
@@ -336,6 +336,9 @@ if {[pkg-config-init 0]} {
		if {![pkg-config libcurl]} {
			user-error "Unable to find libcurl"
		}
+
		user-notice LIBCURL_CFLAGS=[get-define PKG_LIBCURL_CFLAGS]
+
		user-notice LIBCURL_LDLAGS=[get-define PKG_LIBCURL_LDFLAGS]
+
		user-notice LIBCURL_LIBS=[get-define PKG_LIBCURL_LIBS]
	}
	if {[opt-bool with-libarchive.pc]} {
		if {![pkg-config libarchive]} {
@@ -346,12 +349,18 @@ if {[pkg-config-init 0]} {
				cc-check-functions archive_write_add_filter_zstd
			}
		}
+
		user-notice LIBARCHIVE_CFLAGS=[get-define PKG_LIBARCHIVE_CFLAGS]
+
		user-notice LIBARCHIVE_LDLAGS=[get-define PKG_LIBARCHIVE_LDFLAGS]
+
		user-notice LIBARCHIVE_LIBS=[get-define PKG_LIBARCHIVE_LIBS]
	}

	if {[opt-bool with-openssl.pc]} {
		if {![pkg-config openssl]} {
			user-error "Unable to find openssl"
		}
+
		user-notice OPENSSL_CFLAGS=[get-define PKG_OPENSSL_CFLAGS]
+
		user-notice OPENSSL_LDLAGS=[get-define PKG_OPENSSL_LDFLAGS]
+
		user-notice OPENSSL_LIBS=[get-define PKG_OPENSSL_LIBS]
	}
}

modified libpkg/Makefile.autosetup
@@ -129,7 +129,9 @@ LOCAL_LDFLAGS+= -L$(top_builddir)/external/libmachista -lmachista_pic \
SRCS+=		pkg_macho.c
@else
SRCS+=		pkg_elf.c
-
LOCAL_LDFLAGS+=	-Wl,--version-script=$(top_srcdir)/libpkg/libpkg.ver,--undefined-version \
+
# --undefined-version is a FreeBSD ld option
+
LOCAL_LDFLAGS+=	-Wl,--version-script=$(top_srcdir)/libpkg/libpkg.ver
+
#LOCAL_LDFLAGS+=	-Wl,--version-script=$(top_srcdir)/libpkg/libpkg.ver,--undefined-version 
@endif

@if libelf-internal
modified libpkg/pkg_macho.c
@@ -107,7 +107,7 @@ analyse_macho(struct pkg *pkg, const char *fpath,
			xasprintf(&libname, "%s.%s", march->mat_install_name, ai->name);
			pkg_addshlib_provided(pkg, libname);
			is_shlib = true;
-
		}
+
		

		/* Now find all dependencies */
		for (macho_loadcmd_t *cmd = march->mat_loadcmds; cmd != NULL; cmd = cmd->next) {
@@ -140,6 +140,7 @@ analyse_macho(struct pkg *pkg, const char *fpath,

			action(actdata, pkg, fpath, libname, is_shlib);
		}
+
		}
	}

	return EPKG_OK;
@@ -331,7 +332,7 @@ pkg_arch_to_legacy(const char *arch, char *dest, size_t sz)
	/* Map the architecture name to its CPU type */
	ai = NXGetArchInfoFromName(arch + i);
	if (ai == NULL) {
-
		pkg_emit_error("could not find architecture info for %s", arch + i);
+
		// pkg_emit_error("could not find architecture info for %s", arch + i);
		return EPKG_FATAL;
	}

modified libpkg/pkg_repo_create.c
@@ -365,7 +365,11 @@ pkg_create_repo_thread(void *arg)
			ucl_object_emit_streamline_add_object(te->ctx, o);
			ucl_object_emit_fd(o, UCL_EMIT_JSON_COMPACT, te->mfd);
			dprintf(te->mfd, "\n");
+
#if defined(_DARWIN_C_SOURCE) || defined(__APPLE__)
+
			fcntl(te->mfd, F_FULLFSYNC);
+
#else
			fdatasync(te->mfd);
+
#endif
			ucl_object_unref(o);

			pthread_mutex_unlock(&te->flock);
@@ -397,7 +401,7 @@ cleanup:
	return (NULL);
}

-
#ifdef __linux__
+
#if defined (__linux__) || defined(_DARWIN_C_SOURCE) || defined (__APPLE__)
typedef const FTSENT *FTSENTP;
#else
typedef const FTSENT *const FTSENTP;
modified src/Makefile.autosetup
@@ -50,7 +50,7 @@ LIBPKGFLAT= -L$(top_builddir)/libpkg -lpkg_flat
OTHER_LIBS=	@EXTRA_LIBS@ -lm -pthread

@if HAVE_PKG_LIBARCHIVE
-
OTHER_LIBS+=	@PKG_LIBARCHIVE_LDFLAGS@ @PKG_LIBARCHIVE_LIBS_STATIC@
+
OTHER_LIBS+=	@PKG_LIBARCHIVE_LDFLAGS@ @PKG_LIBARCHIVE_LIBS@
LOCAL_CFLAGS+=	@PKG_LIBARCHIVE_CFLAGS@
@else
OTHER_LIBS+=	-larchive -lbz2 -lz -llzma @ZSTDLIB@
@@ -78,12 +78,17 @@ OTHER_LIBS+= -lmd

@if PKG_OPENSSL_LIBS
LOCAL_CFLAGS+=	@PKG_OPENSSL_CFLAGS@
-
LOCAL_LDFLAGS+=	@PKG_OPENSSL_LDFLAGS@
-
OTHER_LIBS+=	@PKG_OPENSSL_LIBS@
+
OTHER_LIBS+=	@PKG_OPENSSL_LDFLAGS@ @PKG_OPENSSL_LIBS@
@else
OTHER_LIBS+=	-lssl -lcrypto
@endif

+
@if PKG_LIBCURL_LIBS
+
LOCAL_CFLAGS+=	@PKG_LIBCURL_CFLAGS@
+
LOCAL_LDFLAGS+=	@PKG_LIBCURL_LDFLAGS@ 
+
OTHER_LIBS+=	@PKG_LIBCURL_LIBS@
+
@endif
+

@if libmachista
LOCAL_LDFLAGS=	$(LIBPKGFLAT) $(LIBS) $(OTHER_LIBS) -lresolv
STATIC_LDFLAGS=	$(LIBPKGFLAT) $(LIBS) $(OTHER_LIBS) -lresolv
modified tests/Makefile.autosetup
@@ -119,7 +119,8 @@ LIBS= \
	@EXTRA_LIBS@

@if HAVE_PKG_LIBARCHIVE
-
LIBS+=	@PKG_LIBARCHIVE_LDFLAGS@ @PKG_LIBARCHIVE_LIBS_STATIC@
+
CFLAGS+=	@PKG_LIBARCHIVE_CFLAGS@
+
LIBS+=	@PKG_LIBARCHIVE_LDFLAGS@ @PKG_LIBARCHIVE_LIBS@
@else
LIBS+=	-L/usr/lib -larchive -lbz2 -lz -llzma
@endif
@@ -136,6 +137,15 @@ OTHER_LIBS+= -ldl
@if HAVE_LIBRESOLV
OTHER_LIBS+=	-lresolv
@endif
+
@if PKG_LIBCURL_LIBS
+
CFLAGS+=	@PKG_LIBCURL_CFLAGS@
+
LIBS+=	@PKG_LIBCURL_LDFLAGS@ @PKG_LIBCURL_LIBS@
+
@endif
+
@if PKG_OPENSSL_LIBS
+
CFLAGS+=	@PKG_OPENSSL_CFLAGS@
+
LIBS+=	@PKG_OPENSSL_LDFLAGS@ @PKG_OPENSSL_LIBS@
+
@endif
+


# Hack to determine we are on osx
@if libmachista