commit 9929a0e9c6f888ad4fe16edef219494d81e60e9b Author: Window Managers Group <> Date: Sun Dec 22 17:16:05 2024 +0100 Initial commit diff --git a/.github/build-canary-v3 b/.github/build-canary-v3 new file mode 100644 index 0000000..56a6051 --- /dev/null +++ b/.github/build-canary-v3 @@ -0,0 +1 @@ +1 \ No newline at end of file diff --git a/.github/build-nest-v3 b/.github/build-nest-v3 new file mode 100644 index 0000000..56a6051 --- /dev/null +++ b/.github/build-nest-v3 @@ -0,0 +1 @@ +1 \ No newline at end of file diff --git a/.github/release-canary-v3 b/.github/release-canary-v3 new file mode 100644 index 0000000..0cfbf08 --- /dev/null +++ b/.github/release-canary-v3 @@ -0,0 +1 @@ +2 diff --git a/.github/release-nest-v3 b/.github/release-nest-v3 new file mode 100644 index 0000000..d8263ee --- /dev/null +++ b/.github/release-nest-v3 @@ -0,0 +1 @@ +2 \ No newline at end of file diff --git a/.github/workflows/build-canaryv3.yml b/.github/workflows/build-canaryv3.yml new file mode 100644 index 0000000..bff3d86 --- /dev/null +++ b/.github/workflows/build-canaryv3.yml @@ -0,0 +1,37 @@ +name: PikaOS Package Build Only (Canary) (amd64-v3) + +on: + push: + branches: + - main + paths: + - '.github/build-canary-v3' + +jobs: + build: + runs-on: ubuntu-latest + container: + image: ghcr.io/pikaos-linux/pikaos-builder:canaryv3 + volumes: + - /proc:/proc + options: --privileged -it + + steps: + - uses: actions/checkout@v3 + + - name: Install SSH key + uses: shimataro/ssh-key-action@v2 + with: + key: ${{ secrets.SSH_KEY }} + name: id_rsa + known_hosts: ${{ secrets.KNOWN_HOSTS }} + if_key_exists: replace + + - name: Update APT Cache + run: apt-get update -y + + - name: Set Build Config + run: cp -vf ./pika-build-config/amd64-v3.sh ./pika-build-config.sh + + - name: Build Package + run: ./main.sh diff --git a/.github/workflows/build-nestv3.yml b/.github/workflows/build-nestv3.yml new file mode 100644 index 0000000..3c9c34d --- /dev/null +++ b/.github/workflows/build-nestv3.yml @@ -0,0 +1,37 @@ +name: PikaOS Package Build Only (amd64-v3) + +on: + push: + branches: + - main + paths: + - '.github/build-nest-v3' + +jobs: + build: + runs-on: ubuntu-latest + container: + image: ghcr.io/pikaos-linux/pikaos-builder:nestv3 + volumes: + - /proc:/proc + options: --privileged -it + + steps: + - uses: actions/checkout@v3 + + - name: Install SSH key + uses: shimataro/ssh-key-action@v2 + with: + key: ${{ secrets.SSH_KEY }} + name: id_rsa + known_hosts: ${{ secrets.KNOWN_HOSTS }} + if_key_exists: replace + + - name: Update APT Cache + run: apt-get update -y + + - name: Set Build Config + run: cp -vf ./pika-build-config/amd64-v3.sh ./pika-build-config.sh + + - name: Build Package + run: ./main.sh diff --git a/.github/workflows/release-canaryv3.yml b/.github/workflows/release-canaryv3.yml new file mode 100644 index 0000000..436c8ff --- /dev/null +++ b/.github/workflows/release-canaryv3.yml @@ -0,0 +1,40 @@ +name: PikaOS Package Build & Release (Canary) (amd64-v3) + +on: + push: + branches: + - main + paths: + - '.github/release-canary-v3' + +jobs: + build: + runs-on: ubuntu-latest + container: + image: ghcr.io/pikaos-linux/pikaos-builder:canaryv3 + volumes: + - /proc:/proc + options: --privileged -it + + steps: + - uses: actions/checkout@v3 + + - name: Install SSH key + uses: shimataro/ssh-key-action@v2 + with: + key: ${{ secrets.SSH_KEY }} + name: id_rsa + known_hosts: ${{ secrets.KNOWN_HOSTS }} + if_key_exists: replace + + - name: Update APT Cache + run: apt-get update -y + + - name: Set Build Config + run: cp -vf ./pika-build-config/amd64-v3.sh ./pika-build-config.sh + + - name: Build Package + run: ./main.sh + + - name: Release Package + run: ./release.sh diff --git a/.github/workflows/release-nestv3.yml b/.github/workflows/release-nestv3.yml new file mode 100644 index 0000000..ed42bb7 --- /dev/null +++ b/.github/workflows/release-nestv3.yml @@ -0,0 +1,40 @@ +name: PikaOS Package Build & Release (amd64-v3) + +on: + push: + branches: + - main + paths: + - '.github/release-nest-v3' + +jobs: + build: + runs-on: ubuntu-latest + container: + image: ghcr.io/pikaos-linux/pikaos-builder:nestv3 + volumes: + - /proc:/proc + options: --privileged -it + + steps: + - uses: actions/checkout@v3 + + - name: Install SSH key + uses: shimataro/ssh-key-action@v2 + with: + key: ${{ secrets.SSH_KEY }} + name: id_rsa + known_hosts: ${{ secrets.KNOWN_HOSTS }} + if_key_exists: replace + + - name: Update APT Cache + run: apt-get update -y + + - name: Set Build Config + run: cp -vf ./pika-build-config/amd64-v3.sh ./pika-build-config.sh + + - name: Build Package + run: ./main.sh + + - name: Release Package + run: ./release.sh diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..1641898 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,46 @@ +name: PikaOS Package Release + +on: + workflow_dispatch + +jobs: + build: + runs-on: self-hosted + container: + image: ghcr.io/pikaos-linux/pika-package-container:latest + volumes: + - /proc:/proc + options: --privileged -it + + steps: + - uses: actions/checkout@v3 + + - name: Import GPG key + id: import_gpg + uses: crazy-max/ghaction-import-gpg@v5 + with: + gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }} + passphrase: ${{ secrets.PASSPHRASE }} + + - name: Install SSH key + uses: shimataro/ssh-key-action@v2 + with: + key: ${{ secrets.SSH_KEY }} + name: id_rsa + known_hosts: ${{ secrets.KNOWN_HOSTS }} + if_key_exists: replace + + - name: Build Package + run: ./main.sh + + - name: Release Package + run: ./release.sh + + - name: Purge cache + uses: strrife/cloudflare-chunked-purge-action@master + env: + # Zone is required by both authentication methods + CLOUDFLARE_ZONE: ${{ secrets.CLOUDFLARE_ZONE }} + + CLOUDFLARE_TOKEN: ${{ secrets.CLOUDFLARE_TOKEN }} + PURGE_URLS: ${{ vars.PURGE_URLS }} diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..16ff30b --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,24 @@ +MIT License (With DPKG packaging compatibility) + +Copyright (c) 2024 PikaOS + +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. + +Notes: +The files covered by this license are any files and directories in the root of this repository (including but not limited to: `main.sh`, `release.sh`, and `.github`), with the exception of the `debian` directory and its contents if `debian/copyright` exists, and declares any files or directories as a different LICENSE/COPYRIGHT. diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..1fdec6f --- /dev/null +++ b/debian/changelog @@ -0,0 +1,239 @@ +hyprland (0.46.2git-101pika1) pika; urgency=medium + + * Upstream update + + -- ferrreo Wed, 18 Jan 2023 21:48:14 +0000 + +hyprland (0.45.1git-101pika21) pika; urgency=medium + + * Upstream update + + -- ferrreo Wed, 18 Jan 2023 21:48:14 +0000 + +hyprland (0.45.0-101pika1) pika; urgency=medium + + * Upstream update + + -- ferrreo Wed, 18 Jan 2023 21:48:14 +0000 + +hyprland (0.44.1git10-101pika1) pika; urgency=medium + + * Upstream update - upstream fixes + + -- ferrreo Wed, 18 Jan 2023 21:48:14 +0000 + +hyprland (0.44.1git9-101pika1) pika; urgency=medium + + * Upstream update - shadows update + + -- ferrreo Wed, 18 Jan 2023 21:48:14 +0000 + +hyprland (0.44.1git8-101pika1) pika; urgency=medium + + * Upstream update - crash fix + + -- ferrreo Wed, 18 Jan 2023 21:48:14 +0000 + +hyprland (0.44.1git7-101pika1) pika; urgency=medium + + * Upstream update - upstream fixes + + -- ferrreo Wed, 18 Jan 2023 21:48:14 +0000 + +hyprland (0.44.1git6-101pika1) pika; urgency=medium + + * Upstream update - upstream fixes + + -- ferrreo Wed, 18 Jan 2023 21:48:14 +0000 + +hyprland (0.44.1git5-101pika1) pika; urgency=medium + + * Upstream update - opti party + + -- ferrreo Wed, 18 Jan 2023 21:48:14 +0000 + +hyprland (0.44.1git4-101pika1) pika; urgency=medium + + * Upstream update - more opti + + -- ferrreo Wed, 18 Jan 2023 21:48:14 +0000 + +hyprland (0.44.1git3-101pika1) pika; urgency=medium + + * Upstream update - cursor move opti + + -- ferrreo Wed, 18 Jan 2023 21:48:14 +0000 + +hyprland (0.44.1git2-101pika1) pika; urgency=medium + + * Upstream update + + -- ferrreo Wed, 18 Jan 2023 21:48:14 +0000 + +hyprland (0.44.1git1-101pika1) pika; urgency=medium + + * Upstream update + + -- ferrreo Wed, 18 Jan 2023 21:48:14 +0000 + +hyprland (0.44.1-101pika1) pika; urgency=medium + + * Upstream update + + -- ferrreo Wed, 18 Jan 2023 21:48:14 +0000 + +hyprland (0.44.0-101pika1) pika; urgency=medium + + * Upstream update + + -- ferrreo Wed, 18 Jan 2023 21:48:14 +0000 + +hyprland (0.43.0-git4-101pika1) pika; urgency=medium + + * Upstream update + + -- ferrreo Wed, 18 Jan 2023 21:48:14 +0000 + +hyprland (0.43.0-git3-101pika1) pika; urgency=medium + + * Upstream update + + -- ferrreo Wed, 18 Jan 2023 21:48:14 +0000 + +hyprland (0.43.0-git2-101pika1) pika; urgency=medium + + * Upstream update + + -- ferrreo Wed, 18 Jan 2023 21:48:14 +0000 + +hyprland (0.43.0-git1-101pika1) pika; urgency=medium + + * Upstream update + + -- ferrreo Wed, 18 Jan 2023 21:48:14 +0000 + +hyprland (0.42.0-git8-101pika1) pika; urgency=medium + + * Upstream update + + -- ferrreo Wed, 18 Jan 2023 21:48:14 +0000 + +hyprland (0.42.0-git7-101pika1) pika; urgency=medium + + * Upstream update + + -- ferrreo Wed, 18 Jan 2023 21:48:14 +0000 + +hyprland (0.42.0-git6-101pika1) pika; urgency=medium + + * Upstream update + + -- ferrreo Wed, 18 Jan 2023 21:48:14 +0000 + +hyprland (0.42.0-git5-101pika1) pika; urgency=medium + + * Upstream update + + -- ferrreo Wed, 18 Jan 2023 21:48:14 +0000 + +hyprland (0.42.0-git4-101pika1) pika; urgency=medium + + * Upstream update + + -- ferrreo Wed, 18 Jan 2023 21:48:14 +0000 + +hyprland (0.42.0-git3-101pika1) pika; urgency=medium + + * Upstream update + + -- ferrreo Wed, 18 Jan 2023 21:48:14 +0000 + +hyprland (0.42.0-git2-101pika1) pika; urgency=medium + + * Upstream update + + -- ferrreo Wed, 18 Jan 2023 21:48:14 +0000 + +hyprland (0.42.0-git-101pika1) pika; urgency=medium + + * Switch to git until next release + + -- ferrreo Wed, 18 Jan 2023 21:48:14 +0000 + +hyprland (0.42.0-101pika1) pika; urgency=medium + + * Upstream release + + -- ferrreo Wed, 18 Jan 2023 21:48:14 +0000 + +hyprland (0.41.2-101pika1) pika; urgency=medium + + * Port to PikaOS 4 + + -- ferrreo Wed, 18 Jan 2023 21:48:14 +0000 + +hyprland (0.41.2-100pika1) pikauwu; urgency=medium + + * Update to latest version + + -- ferrreo Wed, 18 Jan 2023 21:48:14 +0000 + +hyprland (0.31.0-100pika1) pikauwu; urgency=medium + + * Update to latest version + + -- ferrreo Wed, 18 Jan 2023 21:48:14 +0000 + +hyprland (0.30.0-100pika1) pikauwu; urgency=medium + + * Update to latest version + + -- ferrreo Wed, 18 Jan 2023 21:48:14 +0000 + +hyprland (0.30.0-99pika1) lunar; urgency=medium + + * Update to latest version + + -- ferrreo Wed, 18 Jan 2023 21:48:14 +0000 + +hyprland (0.28.0-99pika5) lunar; urgency=medium + + * Update to latest version + + -- ferrreo Wed, 18 Jan 2023 21:48:14 +0000 + +hyprland (0.27.2-99pika5) lunar; urgency=medium + + * Update to latest version + + -- ferrreo Wed, 18 Jan 2023 21:48:14 +0000 + +hyprland (0.26.0-99pika5) lunar; urgency=medium + + * test new build + + -- ferrreo Wed, 18 Jan 2023 21:48:14 +0000 + +hyprland (0.26.0-99pika4) lunar; urgency=medium + + * test new build + + -- ferrreo Wed, 18 Jan 2023 21:48:14 +0000 + +hyprland (0.26.0-99pika3) lunar; urgency=medium + + * test new build + + -- ferrreo Wed, 18 Jan 2023 21:48:14 +0000 + +hyprland (0.26.0-99pika2) lunar; urgency=medium + + * Update depends + + -- ferrreo Wed, 18 Jan 2023 21:48:14 +0000 + +hyprland (0.26.0-99pika1) lunar; urgency=medium + + * Initial release + + -- ferreo Wed, 18 Jan 2023 21:48:14 +0000 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..0bbc422 --- /dev/null +++ b/debian/control @@ -0,0 +1,87 @@ +Source: hyprland +Section: main +Priority: optional +Maintainer: ferrreo +Standards-Version: 4.6.1 +Build-Depends: + debhelper-compat (= 13), + build-essential, + ninja-build, + cmake-extras, + cmake, + gettext, + gettext-base, + fontconfig, + aquamarine, + libaquamarine-dev, + libfontconfig-dev, + libffi-dev, + libxml2-dev, + libdrm-dev, + libxkbcommon-x11-dev, + libxkbregistry-dev, + libxkbcommon-dev, + libpixman-1-dev, + libudev-dev, + libseat-dev, + libxcb-dri3-dev, + libvulkan-dev, + libvulkan-volk-dev, + libvkfft-dev, + libgulkan-dev, + libegl-dev, + libgles2, + seatd, + libegl1-mesa-dev, + glslang-tools, + libinput-bin, + libinput-dev, + libxcb-composite0-dev, + libavutil-dev, + libavcodec-dev, + libavformat-dev, + libxcb-errors-dev, + libxcb-ewmh2, + libxcb-ewmh-dev, + libxcb-present-dev, + libxcb-icccm4-dev, + libxcb-render-util0-dev, + libxcb-res0-dev, + libxcb-xinput-dev, + libxcursor-dev, + libgbm-dev, + xdg-desktop-portal-wlr, + hwdata-dev, + libdisplay-info-dev, + wayland-protocols, + libwayland-dev, + libliftoff-dev, + xwayland, + libpango1.0-dev, + libpangocairo-1.0-0, + libsystemd-dev, + libhyprwayland-scanner-dev, + libhyprcursor-dev, + libhyprgraphics-dev, + libhyprlang-dev, + libhyprutils-dev, + libxcb-util-dev, + libre2-dev, + libtomlplusplus-dev, + jq, +Rules-Requires-Root: no + +Package: hyprland +Architecture: linux-any +Depends: fontconfig, + ${shlibs:Depends}, + ${misc:Depends}, + seatd, + libdisplay-info0, + libhyprwayland-scanner, + libhyprcursor, + hyprland-qtutils, + hyprlang, + libliftoff0, +Provides: Hyprland, hyprctl +Description: Hyprland window manager diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..a34afeb --- /dev/null +++ b/debian/copyright @@ -0,0 +1,29 @@ +BSD 3-Clause License + +Copyright (c) 2022-2024, vaxerski +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000..e69de29 diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..b8a1794 --- /dev/null +++ b/debian/rules @@ -0,0 +1,21 @@ +#!/usr/bin/make -f + +override_dh_auto_build: + dh_auto_build -- PREFIX=/usr all + +override_dh_auto_install: + # Fix permission on hyprland.pc (Hyprland sets 777 on everything in + # build/ directory) + chmod 644 build/hyprland.pc + # dh_auto_install auto detects the correct DESTDIR. + # Modify PREFIX so that this DESTDIR is actually taken into account. + # (Upstream Makefile supports PREFIX, but not DESTDIR) + dh_auto_install -- PREFIX='$${DESTDIR}/usr' + +override_dh_clean: + # call clear target provided by Hyprland + make clear + dh_clean + +%: + dh $@ diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/main.sh b/main.sh new file mode 100755 index 0000000..6aa39c0 --- /dev/null +++ b/main.sh @@ -0,0 +1,26 @@ +#! /bin/bash + +set -e + +VERSION="0.46.2git" + +source ./pika-build-config.sh + +echo "$PIKA_BUILD_ARCH" > pika-build-arch + +# Clone Upstream +git clone --recurse-submodules https://github.com/hyprwm/hyprland +cp -rvf ./debian ./hyprland/ +cd ./hyprland + +# Get build deps +apt-get build-dep ./ -y + +# Build package +LOGNAME=root dh_make --createorig -y -l -p hyprland_"$VERSION" || echo "dh-make: Ignoring Last Error" +dpkg-buildpackage --no-sign + +# Move the debs to output +cd ../ +mkdir -p ./output +mv ./*.deb ./output/ diff --git a/pika-build-config/amd64-v3.sh b/pika-build-config/amd64-v3.sh new file mode 100755 index 0000000..cd674a1 --- /dev/null +++ b/pika-build-config/amd64-v3.sh @@ -0,0 +1,10 @@ +#! /bin/bash +export PIKA_BUILD_ARCH="amd64-v3" +export DEBIAN_FRONTEND="noninteractive" +export DEB_BUILD_MAINT_OPTIONS="optimize=+lto -march=x86-64-v3 -O3 -flto=auto" +export DEB_CFLAGS_MAINT_APPEND="-march=x86-64-v3 -O3 -flto=auto" +export DEB_CPPFLAGS_MAINT_APPEND="-march=x86-64-v3 -O3 -flto=auto" +export DEB_CXXFLAGS_MAINT_APPEND="-march=x86-64-v3 -O3 -flto=auto" +export DEB_LDFLAGS_MAINT_APPEND="-march=x86-64-v3 -O3 -flto=auto" +export DEB_BUILD_OPTIONS="nocheck notest terse" +export DPKG_GENSYMBOLS_CHECK_LEVEL=0 diff --git a/pika-build-config/i386.sh b/pika-build-config/i386.sh new file mode 100755 index 0000000..7629d66 --- /dev/null +++ b/pika-build-config/i386.sh @@ -0,0 +1,5 @@ +#! /bin/bash +export PIKA_BUILD_ARCH="i386" +export DEBIAN_FRONTEND="noninteractive" +export DEB_BUILD_OPTIONS="nocheck notest terse" +export DPKG_GENSYMBOLS_CHECK_LEVEL=0 diff --git a/release.sh b/release.sh new file mode 100755 index 0000000..660f48f --- /dev/null +++ b/release.sh @@ -0,0 +1,2 @@ +# send debs to server +rsync -azP --include './' --include '*.deb' --exclude '*' ./output/ ferreo@direct.pika-os.com:/srv/www/cockatiel-incoming/