summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIsmael Luceno2019-09-17 19:09:37 +0200
committerIsmael Luceno2019-09-17 20:57:49 +0200
commit2e9fd6410402317cefe1b75edf8824dde8e0bb2c (patch)
tree39c4871809a1bf3c9a32294e6e11798737c7b9b1
parent8dd8abd9a69c25008531139507e64d5d76ba9324 (diff)
gcompat: new spell, GNU C Library Compatibility Layer
-rw-r--r--ChangeLog1
-rwxr-xr-xlibs/gcompat/BUILD1
-rwxr-xr-xlibs/gcompat/CONFLICTS1
-rwxr-xr-xlibs/gcompat/DEPENDS6
-rwxr-xr-xlibs/gcompat/DETAILS28
-rw-r--r--libs/gcompat/HISTORY2
6 files changed, 39 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 9be1c1fd50..050ded562d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,6 @@
2019-09-17 Ismael Luceno <ismael@sourcemage.org>
* libs/libucontext: new spell, <ucontext.h> API
+ * libs/gcompat: new spell, GNU C Library Compatibility Layer
2019-09-11 Ismael Luceno <ismael@sourcemage.org>
* libs/rpcsvc-proto: new spell, rpcsvc protocol definitions from
diff --git a/libs/gcompat/BUILD b/libs/gcompat/BUILD
new file mode 100755
index 0000000000..8eb5214e38
--- /dev/null
+++ b/libs/gcompat/BUILD
@@ -0,0 +1 @@
+make $OPTS
diff --git a/libs/gcompat/CONFLICTS b/libs/gcompat/CONFLICTS
new file mode 100755
index 0000000000..5894a8bf7d
--- /dev/null
+++ b/libs/gcompat/CONFLICTS
@@ -0,0 +1 @@
+conflicts glibc n
diff --git a/libs/gcompat/DEPENDS b/libs/gcompat/DEPENDS
new file mode 100755
index 0000000000..ea44bc03ac
--- /dev/null
+++ b/libs/gcompat/DEPENDS
@@ -0,0 +1,6 @@
+optional_depends musl-obstack \
+ WITH_OBSTACK={musl-obstack,no} \
+ 'for obstack ABI support' &&
+optional_depends libucontext \
+ WITH_LIBUCONTEXT=1 '' \
+ 'for ucontext ABI support'
diff --git a/libs/gcompat/DETAILS b/libs/gcompat/DETAILS
new file mode 100755
index 0000000000..2d7da754ee
--- /dev/null
+++ b/libs/gcompat/DETAILS
@@ -0,0 +1,28 @@
+ SPELL=gcompat
+ VERSION=0.4.0
+ SOURCE="$SPELL-$VERSION.tar.gz"
+ WEB_SITE="https://code.foxkit.us/adelie/gcompat"
+ SOURCE_URL[0]="https://github.com/AdelieLinux/$SPELL/archive/$VERSION.tar.gz"
+ SOURCE_HASH=sha512:eece93dfacc93a97994e0f84d6332742686e992ca3c8480240294aa1652508e870f2f4534b431c8acaeebf8b0e0ae6d3eb59add0b0224a3527019677869ed4af
+SOURCE_DIRECTORY="$BUILD_DIRECTORY/$SPELL-$VERSION"
+ LICENSE[0]="NCSA"
+ ENTERED=20190917
+ KEYWORDS=""
+ SHORT="GNU C Library Compatibility Layer"
+cat << EOF
+This distribution contains the implementation of gcompat, a library which
+provides glibc-compatible APIs for use on musl libc systems.
+
+This library is designed to be used for binaries that are already compiled
+against glibc. It does not contain any headers, and cannot be used to build
+software that requires glibc. It is instead recommended that any software that
+requires glibc APIs be modified to become more portable.
+
+This library can optionally be compiled with other libraries to make a single,
+unfied solution. This can include fts, libucontext, obstack, and others.
+
+gcompat additionally provides a loader stub. This is a small library that has
+the same name as the glibc dynamic linker on glibc platforms; when a binary is
+run that uses glibc as its dynamic linker, the stub will run, redirecting it to
+use musl and automatically preloading the gcompat library.
+EOF
diff --git a/libs/gcompat/HISTORY b/libs/gcompat/HISTORY
new file mode 100644
index 0000000000..8e896a510d
--- /dev/null
+++ b/libs/gcompat/HISTORY
@@ -0,0 +1,2 @@
+2019-09-17 Ismael Luceno <ismael@sourcemage.org>
+ * BUILD, CONFLICTS, DEPENDS, DETAILS: spell created