#!/bin/sh -e
#
# We bypass the build system entirely as it has
# a mandatory dependency on gettext.

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' data/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@|$2|" shared-mime-info.pc.in \
    > "$1/usr/share/pkgconfig/shared-mime-info.pc"

# Define our own config.h statically.
cat << EOF > src/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 $2"
#define PACKAGE_TARNAME "shared-mime-info"
#define PACKAGE_URL ""
#define PACKAGE_VERSION "$2"
#define STDC_HEADERS 1
#define VERSION "$2"
EOF

# Fix config.h include.
sed 's/<config.h>/"config.h"/' src/update-mime-database.c > _
cat _ > src/update-mime-database.c; rm -f _

# shellcheck disable=2046
"${CC:-gcc}" -o "$1/usr/bin/update-mime-database" \
    $(pkg-config --libs --cflags glib-2.0 libxml-2.0) \
    src/update-mime-database.c