diff options
-rw-r--r-- | repo/devel/docbook4-xml.xibuild | 86 | ||||
-rw-r--r-- | repo/devel/rustc.xibuild | 93 | ||||
-rw-r--r-- | repo/system/elogind.xibuild | 5 | ||||
-rw-r--r-- | repo/system/icu.xibuild | 20 | ||||
-rw-r--r-- | repo/system/js78.xibuild | 42 | ||||
-rw-r--r-- | repo/system/libssh2.xibuild | 20 | ||||
-rw-r--r-- | repo/system/polkit.xibuild | 57 |
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 +} |