Naz vor 3 Monaten
Commit
030931dff0

+ 94 - 0
.github/workflows/build-packages.yml

@@ -0,0 +1,94 @@
+name: Build XBPS Packages
+
+on:
+  workflow_dispatch:
+  push:
+    paths:
+      - 'srcpkgs/**'
+
+env:
+  ARCH: x86_64
+  HOST: x86_64
+  PLATFORM: linux/amd64
+  PACKAGES: "brave,ferdium,librewolf,vscodium,obsidian,onlyoffice"
+
+jobs:
+  build-packages:
+    runs-on: ubuntu-latest
+    container:
+      image: ghcr.io/void-linux/void-buildroot-glibc:latest
+
+    steps:
+      - name: Setup environment
+        run: |
+          export PATH="/usr/libexec/chroot-git:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin:/usr/local/bin:/tmp/bin"
+          mkdir -p /etc/xbps.d
+          cp /usr/share/xbps.d/*-repository-*.conf /etc/xbps.d/
+          sed -i 's|repo-default|repo-ci|g' /etc/xbps.d/*-repository-*.conf
+          xbps-install -Syu xbps
+          xbps-install -Syu
+          xbps-install -y tar curl openssh unzip git jq
+
+      - name: Checkout repositories
+        uses: actions/checkout@v4
+        with:
+          repository: void-linux/void-packages
+          path: void-packages
+
+      - name: Checkout custom packages
+        uses: actions/checkout@v4
+        with:
+          path: custom-packages
+
+      - name: Setup and build packages
+        run: |
+          # Setup void-packages
+          cp -r custom-packages/srcpkgs/* void-packages/srcpkgs/
+          cd void-packages
+          ln -s "$(pwd)" /hostrepo
+          ./common/travis/set_mirror.sh
+          ./common/travis/prepare.sh
+          ./common/travis/fetch-xtools.sh
+
+          # Build packages
+          mkdir -p ~/packages
+          IFS=',' read -ra PKGS <<< "${PACKAGES}"
+          for pkg in "${PKGS[@]}"; do
+            pkg_trim=$(echo "$pkg" | xargs)
+            ./xbps-src -j$(nproc) -s -H ~/hostdir pkg "$pkg_trim"
+            cp ~/hostdir/binpkgs/"$pkg_trim"*.xbps ~/packages/
+          done
+
+      - name: Sign and package
+        env:
+          PRIVATE_PEM: ${{ secrets.PRIVATE_PEM }}
+          PRIVATE_PEM_PASSPHRASE: ${{ secrets.PRIVATE_PEM_PASSPHRASE }}
+        run: |
+          cd ~/packages
+          xbps-rindex -a *
+          temp_key=$(mktemp)
+          echo "$PRIVATE_PEM" > "$temp_key"
+          export XBPS_PASSPHRASE=$PRIVATE_PEM_PASSPHRASE
+          chmod 600 "$temp_key"
+          xbps-rindex --privkey "$temp_key" --sign --signedby "void-packages-github-actions" ~/packages
+          xbps-rindex --privkey "$temp_key" --sign-pkg ~/packages/*.xbps
+          rm -f "$temp_key"
+          tar -czvf xbps_packages.tar.gz *
+          ls -lah
+
+      - name: Create Release
+        uses: softprops/action-gh-release@v1
+        env:
+          GITHUB_TOKEN: ${{ secrets.TOKEN }}
+        with:
+          files: |
+            /github/home/packages/*.xbps
+            /github/home/packages/*.sig2
+            /github/home/packages/x86_64-repodata
+            /github/home/packages/xbps_packages.tar.gz
+          tag_name: latest
+          name: Latest Build
+          body: |
+            Latest build of XBPS packages
+            Built on: ${{ github.event.repository.updated_at }}
+          prerelease: false

+ 13 - 0
.gitignore

@@ -0,0 +1,13 @@
+# Build artifacts
+*.xbps
+*.tar.gz
+*.sig
+
+# Temp files
+*~
+.*.swp
+.DS_Store
+
+# Build directories
+/hostdir/
+/masterdir/

+ 21 - 0
LICENSE

@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2025 Naz
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.

+ 19 - 0
README.md

@@ -0,0 +1,19 @@
+# Custom XBPS Repository
+[![Build Packages](https://github.com/ndpm13/xbps-repo/actions/workflows/build-packages.yml/badge.svg)](https://github.com/ndpm13/xbps-repo/actions/workflows/build-packages.yml)
+
+This repository contains custom XBPS packages.
+
+## Installation Instructions
+
+The easiest way is by adding our repository, which includes pre-built binaries. You can do so by creating a new file and specifying the repository URL.
+
+```bash
+echo "repository=https://github.com/ndpm13/xbps-repo/releases/latest/download" | doas tee /etc/xbps.d/ndpm13-xbps-repo.conf
+```
+
+Once you've created file above, proceed with installing any packages you want using xbps
+
+```bash
+doas xbps-install -Su
+doas xbps-install brave librewolf vscodium ferdium obsidian onlyoffice
+```

+ 37 - 0
srcpkgs/brave/template

@@ -0,0 +1,37 @@
+# Template file for 'brave'
+pkgname=brave
+version=1.74.47
+revision=1
+only_for_archs="x86_64"
+hostmakedepends="tar xz"
+short_desc="Web browser that blocks ads and trackers by default"
+maintainer="Naz <[email protected]>"
+license="MPL-2.0"
+homepage="https://brave.com"
+distfiles="https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb"
+checksum=78421ac3a8fa457bb8816f3ace983a5f583bdaca8083a78e1bf982c6246d17c1
+nostrip=yes
+
+do_extract() {
+	mkdir -p ${DESTDIR}
+	ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/brave-browser_${version}_amd64.deb
+	tar xf data.tar.xz -C ${DESTDIR}
+}
+
+do_install() {
+	# Install the icons
+	for size in 24 32 48 64 128 256; do
+		# Create the brave browser xdg directory
+		mkdir -p ${DESTDIR}/usr/share/icons/hicolor/${size}x${size}/apps
+
+		# Copy the brave browser icon
+		mv ${DESTDIR}/opt/brave.com/brave/product_logo_${size}.png ${DESTDIR}/usr/share/icons/hicolor/${size}x${size}/apps/brave-browser.png
+	done
+
+	# Remove unused icons
+	rm ${DESTDIR}/opt/brave.com/brave/*.xpm
+
+	# Remove the Debian/Ubuntu crontab
+	rm -rf ${DESTDIR}/etc
+	rm -rf ${DESTDIR}/opt/brave.com/brave/cron
+}

+ 25 - 0
srcpkgs/ferdium/template

@@ -0,0 +1,25 @@
+# Template file for 'ferdium'
+pkgname=ferdium
+version=7.0.0
+revision=1
+only_for_archs="x86_64"
+hostmakedepends="tar xz"
+short_desc="A messaging browser that allows you to combine your favorite messaging services into one application"
+maintainer="Naz <[email protected]>"
+license="Apache-2.0"
+homepage="https://ferdium.org/"
+distfiles="https://github.com/ferdium/ferdium-app/releases/download/v${version}/Ferdium-linux-${version}-amd64.deb"
+checksum=132d8585e910552601d248b85371f2b8ab3f51182d64c0a5e358e43ec64c36b4
+
+do_extract() {
+  mkdir -p ${DESTDIR}
+  ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/Ferdium-linux-${version}-amd64.deb
+  tar xf data.tar.xz -C ${DESTDIR}
+}
+
+do_install() {
+	vmkdir usr/bin
+  ln -sf /opt/Ferdium/ferdium ${DESTDIR}/usr/bin/ferdium
+  # Cleanup up
+  rm -rf ${DESTDIR}/etc
+}

+ 27 - 0
srcpkgs/librewolf/template

@@ -0,0 +1,27 @@
+# Template file for 'librewolf'
+pkgname=librewolf
+version=134.0
+revision=1
+only_for_archs="x86_64"
+hostmakedepends="tar xz"
+short_desc="Community-maintained fork of Firefox, focused on privacy, security and freedom."
+maintainer="Naz <[email protected]>"
+license="MPL-2.0"
+homepage="https://librewolf.net/"
+distfiles="https://repo.librewolf.net/pool/librewolf-${version}-${revision}-linux-x86_64-deb.deb"
+checksum=f3390f71c88d8563159a78dc77cbb17578aef55c020ee98acb6a2e5e1711ba08
+nostrip=yes
+
+do_extract() {
+  mkdir -p ${DESTDIR}
+  ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/librewolf-${version}-${revision}-linux-x86_64-deb.deb
+  tar xf data.tar.xz -C ${DESTDIR}
+}
+
+do_install() {
+	vcopy ${DESTDIR}/usr/share/librewolf /usr/lib/
+  ln -sf /usr/lib/librewolf/librewolf ${DESTDIR}/usr/bin/librewolf
+  # Cleanup up
+  rm -rf ${DESTDIR}/etc
+  rm -rf ${DESTDIR}/usr/share/librewolf
+}

+ 26 - 0
srcpkgs/obsidian/template

@@ -0,0 +1,26 @@
+# Template file for 'obsidian'
+pkgname=obsidian
+version=1.7.7
+revision=1
+only_for_archs="x86_64"
+hostmakedepends="tar xz"
+short_desc="Private and flexible writing app that adapts to the way you think."
+maintainer="Naz <[email protected]>"
+license="Proprietary"
+homepage="https://obsidian.md"
+distfiles="https://github.com/obsidianmd/obsidian-releases/releases/download/v${version}/obsidian_${version}_amd64.deb"
+checksum=e41269fa5f120612cb8ba3cbb8a22b1d5c5d9969c4e9b2f9f802fd0141de6a89
+
+do_extract() {
+  mkdir -p ${DESTDIR}
+  ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/obsidian_${version}_amd64.deb
+  tar xf data.tar.xz -C ${DESTDIR}
+}
+
+do_install() {
+	vmkdir usr/bin
+  ln -sf /opt/Obsidian/obsidian ${DESTDIR}/usr/bin/obsidian
+
+  # Cleanup up
+  rm -rf ${DESTDIR}/etc
+}

+ 24 - 0
srcpkgs/onlyoffice/template

@@ -0,0 +1,24 @@
+# Template file for 'onlyoffice'
+pkgname=onlyoffice
+version=8.2.2
+revision=1
+only_for_archs="x86_64"
+hostmakedepends="tar xz"
+short_desc="An office suite that combines text, spreadsheet and presentation editors allowing to create, view and edit local documents"
+maintainer="Naz <[email protected]>"
+license="AGPL-3.0-only"
+homepage="https://www.onlyoffice.com/"
+distfiles="https://github.com/ONLYOFFICE/DesktopEditors/releases/download/v${version}/onlyoffice-desktopeditors_amd64.deb"
+checksum=0f02a93cccac2e18c00626141836ecda31b4960473597f97e21afe2dbda5c6a9
+nostrip=yes
+
+do_extract() {
+  mkdir -p ${DESTDIR}
+  ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/onlyoffice-desktopeditors_amd64.deb
+  tar xf data.tar.xz -C ${DESTDIR}
+}
+
+do_install() {
+  # Cleanup up
+  rm -rf ${DESTDIR}/etc
+}

+ 31 - 0
srcpkgs/vscodium/template

@@ -0,0 +1,31 @@
+# Template file for 'vscodium'
+pkgname=vscodium
+version=1.96.3.25013
+revision=1
+only_for_archs="x86_64"
+hostmakedepends="tar xz"
+makedepends=""
+depends=""
+short_desc="Free/Libre Open Source Software Binaries of VSCode"
+maintainer="Naz <[email protected]>"
+license="MIT"
+homepage="https://vscodium.com/"
+distfiles="https://github.com/VSCodium/vscodium/releases/download/${version}/codium_${version}_amd64.deb"
+checksum=d64ebee0dddd8879112f90c0d18b160ed067d4013f0d95a9c6c611ceb2320a1f
+
+do_extract() {
+  mkdir -p ${DESTDIR}
+  ar x ${XBPS_SRCDISTDIR}/${pkgname}-${version}/codium_${version}_amd64.deb
+  tar xf data.tar.xz -C ${DESTDIR}
+}
+
+do_install() {
+	vcopy ${DESTDIR}/usr/share/codium /usr/lib/
+
+	vmkdir usr/bin
+	ln -sf /usr/lib/codium/codium ${DESTDIR}/usr/bin/codium
+
+  # Cleanup up
+  rm -rf ${DESTDIR}/etc
+  rm -rf ${DESTDIR}/usr/share/codium
+}