summaryrefslogtreecommitdiff
path: root/repo
diff options
context:
space:
mode:
Diffstat (limited to 'repo')
-rw-r--r--repo/devel/docbook4-xml.xibuild86
-rw-r--r--repo/devel/rustc.xibuild93
-rw-r--r--repo/system/elogind.xibuild5
-rw-r--r--repo/system/icu.xibuild20
-rw-r--r--repo/system/js78.xibuild42
-rw-r--r--repo/system/libssh2.xibuild20
-rw-r--r--repo/system/polkit.xibuild57
7 files changed, 321 insertions, 2 deletions
diff --git a/repo/devel/docbook4-xml.xibuild b/repo/devel/docbook4-xml.xibuild
new file mode 100644
index 0000000..2d65abd
--- /dev/null
+++ b/repo/devel/docbook4-xml.xibuild
@@ -0,0 +1,86 @@
+#!/bin/bash
+
+MAKEDEPS=(unzip)
+DEPS=(libxml2 sgml-common)
+
+PKG_VER=4.5
+SOURCE=https://www.docbook.org/xml/$PKG_VER/docbook-xml-$PKG_VER.zip
+DESC="A widely used XML scheme for writing documentation and help"
+
+package () {
+ install -v -d -m755 $PKG_DEST/usr/share/xml/docbook/xml-dtd-4.5 &&
+ install -v -d -m755 $PKG_DEST/etc/xml &&
+ chown -R root:root . &&
+ cp -v -af docbook.cat *.dtd ent/ *.mod \
+ $PKG_DEST/usr/share/xml/docbook/xml-dtd-4.5
+
+
+ if [ ! -e $PKG_DEST/etc/xml/docbook ]; then
+ xmlcatalog --noout --create $PKG_DEST/etc/xml/docbook
+ fi &&
+ xmlcatalog --noout --add "public" \
+ "-//OASIS//DTD DocBook XML V4.5//EN" \
+ "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" \
+ $PKG_DEST/etc/xml/docbook &&
+ xmlcatalog --noout --add "public" \
+ "-//OASIS//DTD DocBook XML CALS Table Model V4.5//EN" \
+ "file:///usr/share/xml/docbook/xml-dtd-4.5/calstblx.dtd" \
+ $PKG_DEST/etc/xml/docbook &&
+ xmlcatalog --noout --add "public" \
+ "-//OASIS//DTD XML Exchange Table Model 19990315//EN" \
+ "file:///usr/share/xml/docbook/xml-dtd-4.5/soextblx.dtd" \
+ $PKG_DEST/etc/xml/docbook &&
+ xmlcatalog --noout --add "public" \
+ "-//OASIS//ELEMENTS DocBook XML Information Pool V4.5//EN" \
+ "file:///usr/share/xml/docbook/xml-dtd-4.5/dbpoolx.mod" \
+ $PKG_DEST/etc/xml/docbook &&
+ xmlcatalog --noout --add "public" \
+ "-//OASIS//ELEMENTS DocBook XML Document Hierarchy V4.5//EN" \
+ "file:///usr/share/xml/docbook/xml-dtd-4.5/dbhierx.mod" \
+ $PKG_DEST/etc/xml/docbook &&
+ xmlcatalog --noout --add "public" \
+ "-//OASIS//ELEMENTS DocBook XML HTML Tables V4.5//EN" \
+ "file:///usr/share/xml/docbook/xml-dtd-4.5/htmltblx.mod" \
+ $PKG_DEST/etc/xml/docbook &&
+ xmlcatalog --noout --add "public" \
+ "-//OASIS//ENTITIES DocBook XML Notations V4.5//EN" \
+ "file:///usr/share/xml/docbook/xml-dtd-4.5/dbnotnx.mod" \
+ $PKG_DEST/etc/xml/docbook &&
+ xmlcatalog --noout --add "public" \
+ "-//OASIS//ENTITIES DocBook XML Character Entities V4.5//EN" \
+ "file:///usr/share/xml/docbook/xml-dtd-4.5/dbcentx.mod" \
+ $PKG_DEST/etc/xml/docbook &&
+ xmlcatalog --noout --add "public" \
+ "-//OASIS//ENTITIES DocBook XML Additional General Entities V4.5//EN" \
+ "file:///usr/share/xml/docbook/xml-dtd-4.5/dbgenent.mod" \
+ $PKG_DEST/etc/xml/docbook &&
+ xmlcatalog --noout --add "rewriteSystem" \
+ "http://www.oasis-open.org/docbook/xml/4.5" \
+ "file:///usr/share/xml/docbook/xml-dtd-4.5" \
+ $PKG_DEST/etc/xml/docbook &&
+ xmlcatalog --noout --add "rewriteURI" \
+ "http://www.oasis-open.org/docbook/xml/4.5" \
+ "file:///usr/share/xml/docbook/xml-dtd-4.5" \
+ $PKG_DEST/etc/xml/docbook
+
+ if [ ! -e $PKG_DEST/etc/xml/catalog ]; then
+ xmlcatalog --noout --create $PKG_DEST/etc/xml/catalog
+ fi &&
+ xmlcatalog --noout --add "delegatePublic" \
+ "-//OASIS//ENTITIES DocBook XML" \
+ "file:///etc/xml/docbook" \
+ $PKG_DEST/etc/xml/catalog &&
+ xmlcatalog --noout --add "delegatePublic" \
+ "-//OASIS//DTD DocBook XML" \
+ "file:///etc/xml/docbook" \
+ $PKG_DEST/etc/xml/catalog &&
+ xmlcatalog --noout --add "delegateSystem" \
+ "http://www.oasis-open.org/docbook/" \
+ "file:///etc/xml/docbook" \
+ $PKG_DEST/etc/xml/catalog &&
+ xmlcatalog --noout --add "delegateURI" \
+ "http://www.oasis-open.org/docbook/" \
+ "file:///etc/xml/docbook" \
+ $PKG_DEST/etc/xml/catalog
+
+}
diff --git a/repo/devel/rustc.xibuild b/repo/devel/rustc.xibuild
new file mode 100644
index 0000000..21002e0
--- /dev/null
+++ b/repo/devel/rustc.xibuild
@@ -0,0 +1,93 @@
+#!/bin/bash
+
+MAKEDEPS=(cmake )
+DEPS=(curl gcc libssh2)
+
+PKG_VER=1.58.1
+SOURCE=https://static.rust-lang.org/dist/rustc-$PKG_VER-src.tar.gz
+DESC="Systems programming language focused on safety, speed and concurrency"
+
+prepare () {
+ mkdir $PKG_DEST/opt/rustc-$PKG_VER &&
+ ln -svfin rustc-$PKG_VER $PKG_DEST/opt/rustc
+
+ cat << EOF > config.toml
+# see config.toml.example for more possible options
+# See the 8.4 book for an example using shipped LLVM
+# e.g. if not installing clang, or using a version before 10.0
+[llvm]
+# by default, rust will build for a myriad of architectures
+targets = "X86"
+
+# When using system llvm prefer shared libraries
+link-shared = true
+
+[build]
+# omit docs to save time and space (default is to build them)
+docs = false
+
+# install cargo as well as rust
+extended = true
+
+[install]
+prefix = "/opt/rustc-1.58.1"
+docdir = "share/doc/rustc-1.58.1"
+
+[rust]
+channel = "stable"
+rpath = false
+
+# BLFS does not install the FileCheck executable from llvm,
+# so disable codegen tests
+codegen-tests = false
+
+[target.x86_64-unknown-linux-gnu]
+# NB the output of llvm-config (i.e. help options) may be
+# dumped to the screen when config.toml is parsed.
+llvm-config = "/usr/bin/llvm-config"
+
+[target.i686-unknown-linux-gnu]
+# NB the output of llvm-config (i.e. help options) may be
+# dumped to the screen when config.toml is parsed.
+llvm-config = "/usr/bin/llvm-config"
+
+
+EOF
+
+}
+
+build () {
+ export RUSTFLAGS="$RUSTFLAGS -C link-args=-lffi" &&
+ python3 ./x.py build --exclude src/tools/miri
+
+}
+
+package () {
+ export LIBSSH2_SYS_USE_PKG_CONFIG=1 &&
+ DESTDIR=${PWD}/install python3 ./x.py install &&
+ unset LIBSSH2_SYS_USE_PKG_CONFIG
+
+ chown -R root:root install &&
+ cp -a install/* $PKG_DEST
+
+ mkdir -pv $PKG_DEST/etc/profile.d/
+ cat > $PKG_DEST/etc/profile.d/rustc.sh << "EOF"
+# Begin /etc/profile.d/rustc.sh
+
+pathprepend /opt/rustc/bin PATH
+
+# End /etc/profile.d/rustc.sh
+EOF
+}
+
+postinstall () {
+cat >> /etc/ld.so.conf << EOF
+# Begin rustc addition
+
+/opt/rustc/lib
+
+# End rustc addition
+EOF
+
+ldconfig
+}
diff --git a/repo/system/elogind.xibuild b/repo/system/elogind.xibuild
index b15fe4a..81cdaea 100644
--- a/repo/system/elogind.xibuild
+++ b/repo/system/elogind.xibuild
@@ -1,6 +1,6 @@
#!/bin/bash
-MAKEDEPS=(make docbook-xml docbook-xsl docbook-dtd libxslt)
+MAKEDEPS=(make docbook4-xml docbook-xsl docbook-dtd libxslt)
DEPS=(pam polkit)
PKG_VER=246.10
@@ -15,11 +15,12 @@ build () {
mkdir build &&
cd build &&
+ # TODO re-enable BUILD_MANS
meson --prefix=/usr \
--buildtype=release \
-Dcgroup-controller=elogind \
-Ddbuspolicydir=/etc/dbus-1/system.d \
- -Dman=auto \
+ -DBUILD_MANS=false \
.. &&
ninja
}
diff --git a/repo/system/icu.xibuild b/repo/system/icu.xibuild
new file mode 100644
index 0000000..be85b1e
--- /dev/null
+++ b/repo/system/icu.xibuild
@@ -0,0 +1,20 @@
+#!/bin/bash
+
+MAKEDEPS=(python)
+DEPS=(bash)
+
+PKG_VER=70.1
+SOURCE=https://github.com/unicode-org/icu/releases/download/release-$(echo $PKG_VER | sed 's/\./-/g')/icu4c-$(echo $PKG_VER | sed 's/\./_/g')-src.tgz
+DESC="International Components for Unicode library"
+
+build () {
+ cd source &&
+
+ ./configure --prefix=/usr &&
+ make
+
+}
+
+package () {
+ make DESTDIR=$PKG_DEST install
+}
diff --git a/repo/system/js78.xibuild b/repo/system/js78.xibuild
new file mode 100644
index 0000000..5fe32a6
--- /dev/null
+++ b/repo/system/js78.xibuild
@@ -0,0 +1,42 @@
+#!/bin/bash
+
+MAKEDEPS=(gcc autoconf icu rustc which zip)
+DEPS=(readline bash zlib)
+
+PKG_VER=78.15.0
+SOURCE=https://archive.mozilla.org/pub/firefox/releases/${PKG_VER}esr/source/firefox-${PKG_VER}esr.source.tar.xz
+ADDITIONAL=(
+ https://www.linuxfromscratch.org/patches/blfs/svn/js-$PKG_VER-python_3_10-1.patch
+ )
+
+DESC="JavaScript interpreter and libraries - Version 78
+"
+
+prepare () {
+ patch -Np1 -i js-$PKG_VER-python_3_10-1.patch
+
+ mountpoint -q /dev/shm || mount -t tmpfs devshm /dev/shm
+
+}
+
+build () {
+ mkdir obj &&
+ cd obj &&
+
+ CC=gcc CXX=g++ \
+ ../js/src/configure --prefix=/usr \
+ --with-intl-api \
+ --with-system-zlib \
+ --with-system-icu \
+ --disable-jemalloc \
+ --disable-debug-symbols \
+ --enable-readline &&
+ make
+
+}
+
+package () {
+ make DESTDIR=$PKG_DEST install &&
+ rm -v $PKG_VER/usr/lib/libjs_static.ajs &&
+ sed -i '/@NSPR_CFLAGS@/d' $PKG_VER/usr/bin/js78-config
+}
diff --git a/repo/system/libssh2.xibuild b/repo/system/libssh2.xibuild
new file mode 100644
index 0000000..086b686
--- /dev/null
+++ b/repo/system/libssh2.xibuild
@@ -0,0 +1,20 @@
+#!/bin/bash
+
+MAKEDEPS=(make)
+DEPS=(openssl openssh libgcrypt zlib)
+
+PKG_VER=1.10.0
+SOURCE=https://www.libssh2.org/download/libssh2-$PKG_VER.tar.gz
+DESC="A client-side C library implementing the SSH2 protocol"
+
+prepare () {
+ ./configure --prefix=/usr --disable-static
+}
+
+build () {
+ make
+}
+
+package () {
+ make DESTDIR=$PKG_DEST install
+}
diff --git a/repo/system/polkit.xibuild b/repo/system/polkit.xibuild
new file mode 100644
index 0000000..00547b0
--- /dev/null
+++ b/repo/system/polkit.xibuild
@@ -0,0 +1,57 @@
+#!/bin/bash
+
+MAKEDEPS=(git gobject-introspection meson libxslt)
+DEPS=(expat glib js78 pam)
+
+PKG_VER=0.120
+SOURCE=https://www.freedesktop.org/software/polkit/releases/polkit-$PKG_VER.tar.gz
+ADDITIONAL=(
+ https://www.linuxfromscratch.org/patches/blfs/svn/polkit-$PKG_VER-security_fix-1.patch
+ )
+
+DESC="Application development toolkit for controlling system-wide privileges"
+
+prepare () {
+ sed '/0,/s/^/#/' -i meson_post_install.py &&
+ sed '/policy,/d' -i actions/meson.build \
+ -i src/examples/meson.build
+
+ patch -Np1 -i polkit-$PKG_VE-security_fix-1.patch
+
+}
+
+build () {
+ mkdir build &&
+ cd build &&
+
+ meson --prefix=/usr \
+ -Dman=true \
+ -Dsession_tracking=libelogind \
+ -Dsystemdsystemunitdir=/tmp \
+ --buildtype=release \
+ .. &&
+ ninja
+}
+
+package () {
+ DESTDIR=$PKG_DEST ninja install &&
+
+
+ cat > $PKG_DEST/etc/pam.d/polkit-1 << "EOF"
+# Begin /etc/pam.d/polkit-1
+
+auth include system-auth
+account include system-account
+password include system-password
+session include system-session
+
+# End /etc/pam.d/polkit-1
+EOF
+
+}
+
+postinstall() {
+ groupadd -fg 27 polkitd &&
+ useradd -c "PolicyKit Daemon Owner" -d /etc/polkit-1 -u 27 \
+ -g polkitd -s /bin/false polkitd
+}