aboutsummaryrefslogtreecommitdiff
path: root/extra/shared-mime-info/build
diff options
context:
space:
mode:
Diffstat (limited to 'extra/shared-mime-info/build')
-rwxr-xr-xextra/shared-mime-info/build54
1 files changed, 54 insertions, 0 deletions
diff --git a/extra/shared-mime-info/build b/extra/shared-mime-info/build
new file mode 100755
index 00000000..58dddbe2
--- /dev/null
+++ b/extra/shared-mime-info/build
@@ -0,0 +1,54 @@
+#!/bin/sh -e
+#
+# We bypass the build system entirely as it has
+# a mandatory dependency on gettext.
+
+# Grab the package version.
+read -r version _ < "${0%/*}/version"
+
+mkdir -p "$1/usr/share/mime/packages" \
+ "$1/usr/share/pkgconfig" \
+ "$1/usr/bin"
+
+# Install with only English support.
+sed -e 's/_comment/comment/g' freedesktop.org.xml.in \
+ > "$1/usr/share/mime/packages/freedesktop.org.xml"
+
+# Replace markers in the file.
+sed -e 's|@prefix@|/usr|' -e "s|@VERSION@|$version|" shared-mime-info.pc.in \
+ > "$1/usr/share/pkgconfig/shared-mime-info.pc"
+
+# Define our own config.h statically.
+cat << EOF > config.h
+#define HAVE_BIND_TEXTDOMAIN_CODESET 1
+#define HAVE_FDATASYNC 1
+#define HAVE_GETTEXT 0
+#define HAVE_INTTYPES_H 1
+#define HAVE_LC_MESSAGES 1
+#define HAVE_LOCALE_H 1
+#define HAVE_MEMORY_H 1
+#define HAVE_STDINT_H 1
+#define HAVE_STDLIB_H 1
+#define HAVE_STRINGS_H 1
+#define HAVE_STRING_H 1
+#define HAVE_SYS_STAT_H 1
+#define HAVE_SYS_TYPES_H 1
+#define HAVE_UNISTD_H 1
+#define PACKAGE "shared-mime-info"
+#define PACKAGE_BUGREPORT ""
+#define PACKAGE_NAME "shared-mime-info"
+#define PACKAGE_STRING "shared-mime-info $version"
+#define PACKAGE_TARNAME "shared-mime-info"
+#define PACKAGE_URL ""
+#define PACKAGE_VERSION "$version"
+#define STDC_HEADERS 1
+#define VERSION "$version"
+EOF
+
+# Fix config.h include.
+sed -i 's/<config.h>/"config.h"/' update-mime-database.c
+
+# shellcheck disable=2046
+"${CC:-gcc}" -o "$1/usr/bin/update-mime-database" \
+ $(pkg-config --libs --cflags glib-2.0 libxml-2.0) \
+ update-mime-database.c