From 77fd55dac6c643e936dcc5f127758d7bf66c27a9 Mon Sep 17 00:00:00 2001 From: ferreo Date: Tue, 10 Dec 2024 13:21:59 +0000 Subject: [PATCH] Initial packaging --- .github/release-nest-v3 | 2 +- debian/changelog | 4 +- debian/control | 20 ++++------ debian/niri.install | 1 + debian/rules | 84 +++++++++++++---------------------------- main.sh | 12 +++--- 6 files changed, 45 insertions(+), 78 deletions(-) create mode 100644 debian/niri.install diff --git a/.github/release-nest-v3 b/.github/release-nest-v3 index 56a6051..d8263ee 100644 --- a/.github/release-nest-v3 +++ b/.github/release-nest-v3 @@ -1 +1 @@ -1 \ No newline at end of file +2 \ No newline at end of file diff --git a/debian/changelog b/debian/changelog index 6d8d068..7de5f86 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,5 +1,5 @@ -upstream-name (1.0-101pika1) pika; urgency=medium +niri (0.1.10.1-101pika1) pika; urgency=medium - * Initial release. (Closes: #nnnn) + * Initial release. -- ferreo Wed, 18 Jan 2023 21:48:14 +0000 diff --git a/debian/control b/debian/control index 0bcd8e0..4903f94 100644 --- a/debian/control +++ b/debian/control @@ -1,19 +1,13 @@ -Source: upstream-name +Source: niri Section: admin Priority: optional -Maintainer: name +Maintainer: ferreo Standards-Version: 4.6.1 -Build-Depends: debhelper-compat (= 13) +Build-Depends: debhelper-compat (= 13), gcc, clang, libudev-dev, libgbm-dev, libxkbcommon-dev, libegl1-mesa-dev, libwayland-dev, libinput-dev, libdbus-1-dev, libsystemd-dev, libseat-dev, libpipewire-0.3-dev, libpango1.0-dev, libdisplay-info-dev Rules-Requires-Root: no -Package: pkgname1 +Package: niri Architecture: linux-any -# Delete any of these lines if un-used -Depends: ${misc:Depends}, depends -Recommends: high priority optdepends -Conflicts: conflicts -Suggests: low priority optdepends -Breaks: also conflicts!? -Provides: provides -# -Description: pkgdesc +Depends: ${misc:Depends}, ${shlibs:Depends} +Provides: niri +Description: Scroll wm based on wlroots diff --git a/debian/niri.install b/debian/niri.install new file mode 100644 index 0000000..09beaf7 --- /dev/null +++ b/debian/niri.install @@ -0,0 +1 @@ +usr \ No newline at end of file diff --git a/debian/rules b/debian/rules index 64a084a..5a877e4 100755 --- a/debian/rules +++ b/debian/rules @@ -3,65 +3,35 @@ ## See debhelper(7) (uncomment to enable). ## Output every command that modifies files on the build system. export DH_VERBOSE = 1 + export PIKA_BUILD_ARCH = $(shell cat ../pika-build-arch) +export PATH := $(PATH):/root/.cargo/bin -## === the chain of command === -## debuild runs a chain of dh functions in the following order: -## dh_testdir -## dh_clean -## dh_auto_clean -## dh_update_autotools_config -## dh_autoreconf -## dh_auto_configure -## dh_prep -## dh_build -## dh_auto_build -## dh_install -## dh_auto_install -## dh_installdocs -## dh_installchangelogs -## dh_perl -## dh_link -## dh_strip_nondeterminism -## dh_compress -## dh_fixperms -## dh_missing -## dh_dwz -## dh_strip -## dh_makeshlibs -## dh_shlibdeps -## dh_installdeb -## dh_gencontrol -## but you are most likely to only need to override the following: -## dh_clean -## dh_auto_configure -## dh_build -## dh_install +override_dh_prep: +# amd64 build prep +ifeq (amd64-v3,$(PIKA_BUILD_ARCH)) +# Does not support LTO due to dylib-lto +#export RUSTFLAGS = -C target-cpu=x86-64-v3 -C lto=fat -C embed-bitcode -C codegen-units=1 -C opt-level=3 -Zdylib-lto +export RUSTFLAGS = -C target-cpu=x86-64-v3 -C opt-level=3 +endif -## === End end of region === - -## === overriding dh functions === -## by default all dh functions will run a specific command based on the build system selected by "dh $@" -## if you have a makefile that does everything you need this is fine, -## but most likely you have no MakeFile and you want to add your own commands -## Note : overrides must be places above %: -## So here's a few examples: - -## overriding dh_clean to make it not delete rust vendor files: -#override_dh_clean: -# echo "disabled" - -## overriding dh_auto_configure to add custom configs: -#override_dh_auto_configure: -# $(srcdir)/configure -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_DATADIR=/usr/share -DCMAKE_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu -DBUILD_PLUGIN=OFF - -## overriding dh_install to install files to a package: -#override_dh_auto_configure: -# mkdir -p debian/pikman/usr/bin -# cp pikman debian/pikman/usr/bin/ - -## === End end of region === - -## This here will start the build: %: dh $@ + +override_dh_auto_install: + mkdir -p debian/niri/usr/bin/ + mkdir -p debian/niri/usr/share/wayland-sessions/ + mkdir -p debian/niri/usr/share/xdg-desktop-portal/ + mkdir -p debian/niri/usr/lib/systemd/user/ + /root/.cargo/bin/cargo fetch + /root/.cargo/bin/cargo build --release + cp -vf target/release/niri /usr/bin/niri + chmod +x debian/niri/usr/bin/niri + chmod 755 debian/niri/usr/bin/niri + cp -vf resources/niri-session debian/niri/usr/bin/niri-session + cp -vf resources/niri.desktop debian/niri/usr/share/wayland-sessions/niri.desktop + cp -vf resources/niri-portals.conf debian/niri/usr/share/xdg-desktop-portal/niri-portals.conf + cp -vf resources/niri.service (systemd) debian/niri/usr/lib/systemd/user/niri.service + cp -vf resources/niri-shutdown.target (systemd) debian/niri/usr/lib/systemd/user/niri-shutdown.target + chmod +x debian/niri/usr/bin/niri-session + chmod 755 debian/niri/usr/bin/niri-session \ No newline at end of file diff --git a/main.sh b/main.sh index d80ca48..c91b17a 100755 --- a/main.sh +++ b/main.sh @@ -6,18 +6,20 @@ set -e echo "$PIKA_BUILD_ARCH" > pika-build-arch -VERSION="1.0" +VERSION="0.1.10.1" # Clone Upstream -mkdir -p ./src-pkg-name -cp -rvf ./debian ./src-pkg-name/ -cd ./src-pkg-name/ +git clone --recurse-submodules https://github.com/YaLTeR/niri.git -b v"$VERSION" +cp -rvf ./debian ./niri/ +cd ./niri # Get build deps -LOGNAME=root dh_make --createorig -y -l -p src-pkg-name_"$VERSION" || echo "dh-make: Ignoring Last Error" apt-get build-dep ./ -y +apt-get install curl -y +curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | CARGO_HOME=/root/.cargo sh -s -- -y # Build package +LOGNAME=root dh_make --createorig -y -l -p niri_"$VERSION" || echo "dh-make: Ignoring Last Error" dpkg-buildpackage --no-sign # Move the debs to output