diff --git a/lib/import/import-libuuid.mk b/lib/import/import-libuuid.mk new file mode 100644 index 0000000..41b11bc --- /dev/null +++ b/lib/import/import-libuuid.mk @@ -0,0 +1,5 @@ +UTIL_LINUX_DIR := $(call select_from_ports,util-linux)/src/lib/util-linux +LIBUUID_DIR := $(UTIL_LINUX_DIR)/libuuid/src + +INC_DIR += $(LIBUUID_DIR) +INC_DIR += $(UTIL_LINUX_DIR)/include diff --git a/lib/mk/libuuid.mk b/lib/mk/libuuid.mk new file mode 100644 index 0000000..19c1b95 --- /dev/null +++ b/lib/mk/libuuid.mk @@ -0,0 +1,35 @@ +UTIL_LINUX_DIR := $(call select_from_ports,util-linux)/src/lib/util-linux +UTIL_LINUX_LIB_DIR := $(UTIL_LINUX_DIR)/lib +LIBUUID_DIR := $(UTIL_LINUX_DIR)/libuuid/src + +LIBS += libc + +# util-linux/libuuid files +SRC_C := clear.c +SRC_C += compare.c +SRC_C += copy.c +SRC_C += gen_uuid.c +SRC_C += isnull.c +SRC_C += pack.c +SRC_C += parse.c +SRC_C += predefined.c +SRC_C += test_uuid.c +SRC_C += unpack.c +SRC_C += unparse.c +SRC_C += uuid_time.c + +# util-linux/lib files +SRC_C += sha1.c +SRC_C += md5.c +SRC_C += randutils.c + +CC_C_OPT += -Wno-implicit-function-declaration + +INC_DIR += $(LIBUUID_DIR) +INC_DIR += $(UTIL_LINUX_DIR)/include +INC_DIR += $(UTIL_LINUX_LIB_DIR) + +vpath %.c $(LIBUUID_DIR) +vpath %.c $(UTIL_LINUX_LIB_DIR) + +SHARED_LIB = 1 diff --git a/lib/symbols/libuuid b/lib/symbols/libuuid new file mode 100644 index 0000000..157960b --- /dev/null +++ b/lib/symbols/libuuid @@ -0,0 +1,33 @@ +rand_get_number T +random_get_bytes T +random_get_fd T +random_tell_source T +ul_MD5Final T +ul_MD5Init T +ul_MD5Transform T +ul_MD5Update T +ul_SHA1 T +ul_SHA1Final T +ul_SHA1Init T +ul_SHA1Transform T +ul_SHA1Update T +uuid_clear T +uuid_compare T +uuid_copy T +uuid_generate T +uuid_generate_md5 T +uuid_generate_random T +uuid_generate_sha1 T +uuid_generate_time T +uuid_generate_time_safe T +uuid_get_template T +uuid_is_null T +uuid_pack T +uuid_parse T +uuid_time T +uuid_type T +uuid_unpack T +uuid_unparse T +uuid_unparse_lower T +uuid_unparse_upper T +uuid_variant T diff --git a/ports/util-linux.hash b/ports/util-linux.hash new file mode 100644 index 0000000..19cf8a2 --- /dev/null +++ b/ports/util-linux.hash @@ -0,0 +1 @@ +d966a1c6d9be4183945e9d985a61970ea4f1045c diff --git a/ports/util-linux.port b/ports/util-linux.port new file mode 100644 index 0000000..3f86494 --- /dev/null +++ b/ports/util-linux.port @@ -0,0 +1,9 @@ +LICENSE := GPLv2 +VERSION := 2.33.2 +DOWNLOADS := util-linux.git + +URL(util-linux) := https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git/ +REV(util-linux) := v$(VERSION) +DIR(util-linux) := src/lib/util-linux + +PATCHES := src/lib/libuuid/patches/*.patch diff --git a/src/lib/libuuid/patches/usleep_detection.patch b/src/lib/libuuid/patches/usleep_detection.patch new file mode 100644 index 0000000..d77f60d --- /dev/null +++ b/src/lib/libuuid/patches/usleep_detection.patch @@ -0,0 +1,24 @@ +--- src/lib/util-linux/include/c.h 2019-05-10 11:50:31.659841756 +0200 ++++ src/lib/util-linux/include/c.h 2019-05-10 11:22:31.466975561 +0200 +@@ -308,6 +308,7 @@ + + static inline int xusleep(useconds_t usec) + { ++/* + #ifdef HAVE_NANOSLEEP + struct timespec waittime = { + .tv_sec = usec / 1000000L, +@@ -315,10 +316,13 @@ + }; + return nanosleep(&waittime, NULL); + #elif defined(HAVE_USLEEP) ++*/ + return usleep(usec); ++/* + #else + # error "System with usleep() or nanosleep() required!" + #endif ++*/ + } + + /*