Compare commits

...

83 Commits

Author SHA1 Message Date
alan (NyxTrail) 0d70bcee0f
Remove unneeded patch files 2024-10-11 14:28:13 +00:00
alan (NyxTrail) ab75887bc0
Update patches 2024-10-11 14:05:20 +00:00
alan (NyxTrail) 1f01310d94
New Hyprland version 0.44.1 2024-10-11 14:01:53 +00:00
alan (NyxTrail) ba5e7e0bc8 Update upstream source from tag 'upstream/0.44.1+ds'
Update to upstream version '0.44.1+ds'
with Debian dir a67e91a356
2024-10-11 13:43:34 +00:00
alan (NyxTrail) 3ba1400e17
Update dependencies 2024-10-11 13:38:44 +00:00
alan (NyxTrail) 199c263354
Remove unneeded patch 2024-10-11 13:37:10 +00:00
alan (NyxTrail) 52e8d45d78
Remove unneeded references to wlroots from d/copyright 2024-10-11 13:31:12 +00:00
alan (NyxTrail) 749aa05be3
Remove unneeded handling of wlroots 2024-10-11 13:26:02 +00:00
alan (NyxTrail) 68274955a8
Update installation path for config and backgrounds
Installation path for wallpapers and hyprland.conf
changed from '/usr/share/hyprland' to '/usr/share/hypr'
2024-10-11 13:16:13 +00:00
alan (NyxTrail) a9902f7acb
Add dependency: libxcursor 2024-09-22 12:27:39 +00:00
alan (NyxTrail) 5ff1ae540a
Update patches 2024-09-22 12:24:55 +00:00
alan (NyxTrail) b30531e302
New Hyprland version 0.43.0 2024-09-22 12:23:25 +00:00
alan (NyxTrail) e1bc58ca16 Update upstream source from tag 'upstream/0.43.0+ds'
Update to upstream version '0.43.0+ds'
with Debian dir 9eb5f858cd
2024-09-22 11:40:47 +00:00
alan (NyxTrail) 67fd4dc3ea
Add wlroots/tinywl public domain info to d/copyright 2024-07-20 17:26:07 +00:00
alan (NyxTrail) 2aea452aca
Update to new upstream version 0.41.2
- Also fix fuzz on patch file #002 (udis86)
2024-07-01 06:08:03 +00:00
alan (NyxTrail) c0b7556bfb Update upstream source from tag 'upstream/0.41.2+ds'
Update to upstream version '0.41.2+ds'
with Debian dir 38e781c196
2024-07-01 05:55:19 +00:00
alan (NyxTrail) 31723f6490
Add missing licenses and other fixes 2024-06-20 08:59:17 +00:00
alan (NyxTrail) 0abfc96402
Bring back fortification patch
Patch was removed in: #ad9c24eb.
2024-06-20 07:50:15 +00:00
alan (NyxTrail) 67fcb1416e
Skip dwz for Hyprland binary 2024-06-20 07:47:43 +00:00
alan (NyxTrail) de9bb32cad
Remove un-needed ${shlibs:Depends} from -dev and -backgrounds packages 2024-06-20 07:46:40 +00:00
alan (NyxTrail) f38522f661
Disable verbose logging 2024-06-19 11:18:23 +00:00
alan (NyxTrail) c81d9acab5
Update to new standards version 4.7.0 2024-06-19 11:13:32 +00:00
alan (NyxTrail) f649e94030
Add missing dependencies 2024-06-19 11:07:52 +00:00
alan (NyxTrail) 750153de67
Improve d/rules
- wlroots dependency is now statically built into the binary. Remove
  all special conditions that were written to take care of this.
- Unapply patches applied to wlroots as part of clean target
- Make dh_clean ignore scripts/generateVersion.sh.bak
2024-06-17 06:04:03 +00:00
alan (NyxTrail) ad9c24ebe7
Remove fortify patch 2024-06-17 06:03:29 +00:00
alan (NyxTrail) 19ab5a5ed6
Add missing Copyright holders
Also updated location of the wlroots files
2024-06-15 14:43:17 +00:00
alan (NyxTrail) 8ebc51f312
Remove wlroots info
wlroots was forked by Hyprland dev and is now a static dependency for Hyprland
2024-06-15 14:42:23 +00:00
alan (NyxTrail) c38b2d6433
Remove debian versions from deps 2024-06-15 14:40:15 +00:00
alan (NyxTrail) b9ecfb77ed
Fix whitespaces 2024-06-15 11:50:41 +00:00
alan (NyxTrail) d3506f9d3f
Update modification date for patches 2024-06-15 11:50:23 +00:00
alan (NyxTrail) 5fd813db39
Fix hyprland symlink 2024-06-15 11:48:14 +00:00
alan (NyxTrail) 5456b1141b
Add new files 2024-06-14 18:19:11 +00:00
alan (NyxTrail) 14bcf2fb51
Update d/rules for new Hyprland version 2024-06-14 18:00:26 +00:00
alan (NyxTrail) 9ebd101c28
Add new build deps 2024-06-14 17:58:48 +00:00
alan (NyxTrail) 9223815650
Update d/changelog to new Hyprland version 2024-06-14 17:58:05 +00:00
alan (NyxTrail) 2028e8afea
Fix and update patches for new version 2024-06-14 17:57:06 +00:00
alan (NyxTrail) a84a3a3e84 Update upstream source from tag 'upstream/0.41.1+ds'
Update to upstream version '0.41.1+ds'
with Debian dir 4baace6a9e
2024-06-14 16:01:50 +00:00
alan (NyxTrail) f37b9a027e
Add VCS fields to d/control 2024-04-16 19:06:48 +00:00
alan (NyxTrail) e314a7a37c
Update distribution to unstable 2024-04-16 19:04:46 +00:00
alan (NyxTrail) 9b49aafd8c
Add missing build-deps 2024-04-15 09:44:49 +00:00
alan (NyxTrail) 8ded0037f0
Remove build stamp 2024-04-15 08:51:41 +00:00
alan (NyxTrail) 245c473da8
New hyprland version: 0.38.1 2024-04-15 08:45:53 +00:00
alan (NyxTrail) d063422268 Update upstream source from tag 'upstream/0.38.1'
Update to upstream version '0.38.1'
with Debian dir b93e8b27c7
2024-04-14 18:40:10 +00:00
alan (NyxTrail) 57f703f007
Fix build deps version number for udis86 2024-04-14 17:05:26 +00:00
alan (NyxTrail) 9ea747fa24
Fix hyprland-protocols version in build-deps 2024-04-13 10:18:16 +00:00
alan (NyxTrail) c4ac1d0c53
Update copyright years based on upstream 2024-03-26 17:05:45 +00:00
alan (NyxTrail) 9c4e4e02e7
Update patch #002 with changes from upstream 2024-03-26 17:00:17 +00:00
alan (NyxTrail) 105e81ed17
Update to new Hyprland version 0.37.1 2024-03-26 16:43:50 +00:00
alan (NyxTrail) 67a681b06a Update upstream source from tag 'upstream/0.37.1+ds'
Update to upstream version '0.37.1+ds'
with Debian dir e270eed5b3
2024-03-26 16:42:08 +00:00
alan (NyxTrail) 43e8fe37ac
Move license paragraph to common section 2024-03-14 17:38:43 +00:00
alan (NyxTrail) 565f9319bf
Add copyright info for debian/* 2024-03-14 15:28:21 +00:00
alan (NyxTrail) 366dc65af7
Recommend xwayland 2024-03-14 12:13:03 +00:00
alan (NyxTrail) a2399c38df
Add a lintian override
lintian complains about /usr/bin/hyprland not having a man page.
A man page /is/ included for /usr/bin/Hyprland (which /usr/bin/hyprland
symlinks to).
2024-03-14 10:43:30 +00:00
alan (NyxTrail) 09517ab755
Rename patch to something more meaningful 2024-03-14 10:29:09 +00:00
alan (NyxTrail) ded9ae2963
Add information about devendoring in changelog
Add some more detailed information about devendoring in the changelog
2024-03-14 10:25:21 +00:00
alan (NyxTrail) f2bb0e990d
Add metadata for patch #005 2024-03-09 10:43:45 +00:00
alan (NyxTrail) 0eb16ca071
Add FORTIFY_SOURCE flag 2024-03-09 10:37:24 +00:00
alan (NyxTrail) 5078741566 Update upstream source from tag 'upstream/0.36.0+ds'
Update to upstream version '0.36.0+ds'
with Debian dir 0d275b8a71
2024-03-04 08:50:55 +00:00
alan (NyxTrail) edb8b7d44e This patch is for implementing Debian requirements
Marked as not needed to forward upstream
2024-03-03 09:26:04 +00:00
alan (NyxTrail) b572b1df14 Update to new upstream version 0.36.0 2024-03-03 09:24:49 +00:00
Alan M Varghese (NyxTrail) e33352f4fa This patch need not be forwarded upstream
We remove udis86 from upstream as part of Debian packaging.
2024-03-01 15:57:56 +00:00
Alan M Varghese (NyxTrail) 26797c3953 Enabling hardening and other best practices 2024-03-01 15:19:09 +00:00
Alan M Varghese (NyxTrail) c2bef2309a Fill in more details in DEP metadata for patch files 2024-03-01 15:15:14 +00:00
Alan M Varghese (NyxTrail) 7546730257 Clean up copyright file 2024-02-05 12:50:00 +00:00
Alan M Varghese (NyxTrail) 0ab0e660f3 Updated hyprland version to 0.35.0
- Updated hyprland version in changelog
- Updated expression to revert change made by hyprland to the soversion
definition in subprojects/wlroots/meson.build
- Updated diff in patch 001 due to change in upstream source
- Removed unneeded patch 004, available upstream
- Added new patch 004 to use /bin/bash as shell in Makefile. The
  Makefile contains a few lines that otherwise fail in dash
- Updated series file

Signed-off-by: Alan M Varghese (NyxTrail) <alan@digistorm.in>
2024-02-05 12:37:02 +00:00
alan (NyxTrail) 88b58698b0 Use the proper target while building
We were using the 'legacyrenderer' target all this while. Specify the
'all' target instead.

Signed-off-by: Alan M Varghese (NyxTrail) <alan@digistorm.in>
2024-02-05 12:28:37 +00:00
alan (NyxTrail) 0625424d8c Simplifying the copyright file 2024-02-05 10:00:25 +00:00
alan (NyxTrail) d6ec133260 Added README.source
Source tree differs because we remove subprojects. Documented it.
2024-02-04 18:44:38 +00:00
alan (NyxTrail) 23675c53f7 Removed external projects
- Added external projects to Files-Excluded
- Added a watch file to download latest version from GitHub
2024-02-04 18:31:16 +00:00
alan (NyxTrail) 49ead6535e Fix perms on hyprland.pc 2024-02-04 07:53:54 +00:00
alan (NyxTrail) f15cee4cb8 Add missing dependencies 2024-02-04 07:52:51 +00:00
alan (NyxTrail) 9f15477ac0 Include diff from upstream commit for hyprland.pc
This is required for hyprpm to work correctly.
2024-02-03 12:25:45 +00:00
alan (NyxTrail) a929d1f961 Implement lintian recommendations
- Add upstream/metadata
- Enable hardened rules
- Increment Standards-Version
2024-02-03 12:23:52 +00:00
alan (NyxTrail) 0203d83040 Remove DESTDIR patch for Makefile
There is no need to patch upstream Makefile. We can achieve similar
results by modifiying PREFIX in debian/rules to include the DESTDIR
2024-02-03 11:56:05 +00:00
alan (NyxTrail) 3dd95a8fde Fix ldconfig trigger
dh_makeshlibs invokes ldconfig trigger for libwlroots.so.* which
is installed under /usr/lib/hyprland. We depend on RPATH on the
hyprland binary, so this is not required.
Reference: https://wiki.debian.org/RpathIssue
2024-02-02 11:04:24 +00:00
alan (NyxTrail) 4f9bdde4ab Use system version of hyprland-protocols
Patched CMakeLists.txt so that the system version of hyprland-protocols
is used.
2024-02-02 09:57:55 +00:00
alan (NyxTrail) 1ca46f1f0b Add hyprland-protocols and udis86 as build time deps 2024-02-02 08:20:34 +00:00
alan (NyxTrail) e98a9cf42e Modify udis86 dependency to refer system installed version 2024-01-29 13:03:19 +00:00
alan (NyxTrail) 512732e8b9 Split into several packages
- moved backgrounds to a 'hyprland-backgrounds' package
  Need further testing. Had noticed some artifacting a while back
  when no background is set.
- moved all include/* files to a 'hyprland-dev' package

Signed-off-by: alan (NyxTrail) <alan@digistorm.in>
2024-01-28 15:08:54 +00:00
alan d0ad436847 Move libwlroots binary to private directory
The private directory is /usr/lib/hyprland.
This fixes the error:
E: hyprland: shared-library-is-multi-arch-foreign usr/lib/libwlroots.so.13032
N:
N:   The package is marked as Multi-Arch: foreign, but it includes a shared
N:   library in a public library directory.

But we now we also need to let the loader find it. We will use the RPATH
configured on the binary to achieve this. That is, the RPATH has been
modified to point to /usr/lib/hyprland.
2024-01-28 16:20:01 +05:30
alan (NyxTrail) 304829a999 Fix: Lintian errors part 1
Control:
- Set section to X11. Rationale: sway is in x11 section
- Set hyprland homepage

copyright:
- set upstream name and contact, and source.
2024-01-26 09:06:00 +00:00
alan (NyxTrail) 845d38b36e Remove patch to move libwlroots to a private dir
Couldn't get this working. dpkg-shlibdeps fails to find the library.
2024-01-22 16:23:58 +00:00
alan (NyxTrail) 3475a131a9 Initial commit 2024-01-22 15:17:07 +00:00
18 changed files with 339 additions and 0 deletions

4
debian/README.source vendored Normal file
View File

@ -0,0 +1,4 @@
This package needs to be updated using the uscan(1) program and
the copyright file. This ensures that the embedded code copies of
udis86, hyprland-protocols and tracy are removed from the source
package to meet the policy requirements.

13
debian/changelog vendored Normal file
View File

@ -0,0 +1,13 @@
hyprland (0.44.1+ds-1) unstable; urgency=medium
* New upstream version 0.44.1
-- Alan M Varghese (NyxTrail) <alan@digistorm.in> Fri, 11 Oct 2024 13:44:58 +0000
hyprland (0.41.2+ds-1) unstable; urgency=medium
* Initial release. Closes: #1040971
* The subprojects udis86, tracy and hyprland-protocols have been
devendored. The source is patched to support this devendoring.
-- Alan M Varghese (NyxTrail) <alan@digistorm.in> Mon, 01 Jul 2024 05:58:39 +0000

87
debian/control vendored Normal file
View File

@ -0,0 +1,87 @@
Source: hyprland
Section: x11
Priority: optional
Maintainer: Alan M Varghese (NyxTrail) <alan@digistorm.in>
Build-Depends:
aquamarine-dev (>= 0.4.2),
chrpath,
cmake,
cpio,
debhelper-compat (= 13),
hwdata,
hyprland-protocols (>= 0.2+20240505),
hyprwayland-scanner (>= 0.3.10),
libcairo-dev,
libdrm-dev,
libxkbcommon-dev,
libegl-dev,
libegl1-mesa-dev,
libgles-dev,
libhyprlang-dev (>= 0.3.2),
libhyprcursor-dev (>= 0.1.7),
libhyprutils-dev (>= 0.2.3),
libinput-dev,
libpango1.0-dev,
libpixman-1-dev,
libseat-dev,
libtomlplusplus-dev,
libudev-dev,
libudis86-dev (>= 0+20221013),
libwayland-dev,
libwlroots-dev,
libxcb-errors-dev,
libxcb-util-dev,
meson,
ninja-build,
pkgconf,
wayland-protocols,
libxcursor-dev,
xwayland
Standards-Version: 4.7.0
Homepage: https://hyprland.org
Rules-Requires-Root: no
Vcs-Git: https://salsa.debian.org/NyxTrail/hyprland.git
Vcs-Browser: https://salsa.debian.org/NyxTrail/hyprland
Package: hyprland
Architecture: any
Depends: ${misc:Depends}, ${shlibs:Depends},
polkitd, binutils, libgl1-mesa-dri
Recommends: xwayland
Description: Dynamic tiling Wayland compositor
Hyprland is a dynamic tiling Wayland compositor based on
wlroots that doesn't sacrifice on its looks. It provides
the latest Wayland features, is highly customizable, has
all the eyecandy, the most powerful plugins, easy IPC,
much more QoL stuff than other wlr-based compositors and
more...
Package: hyprland-backgrounds
Architecture: all
Multi-Arch: foreign
Depends: ${misc:Depends}
Suggests: hyprland
Description: Set of backgrounds packaged with the hyprland Wayland compositor
Hyprland is a dynamic tiling Wayland compositor based on
wlroots that doesn't sacrifice on its looks. It provides
the latest Wayland features, is highly customizable, has
all the eyecandy, the most powerful plugins, easy IPC,
much more QoL stuff than other wlr-based compositors and
more...
.
This package contains the backgrounds included with Hyprland.
Package: hyprland-dev
Section: libdevel
Architecture: any
Depends: ${misc:Depends}
Description: Development files for Hyprland
Hyprland is a dynamic tiling Wayland compositor based on
wlroots that doesn't sacrifice on its looks. It provides
the latest Wayland features, is highly customizable, has
all the eyecandy, the most powerful plugins, easy IPC,
much more QoL stuff than other wlr-based compositors and
more...
.
This package contains header files for developing plugins
for Hyprland.

100
debian/copyright vendored Normal file
View File

@ -0,0 +1,100 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: Hyprland
Upstream-Contact: https://github.com/hyprwm/Hyprland/issues
Source: https://github.com/hyprwm/Hyprland
Files-Excluded: subprojects/udis86
subprojects/tracy
subprojects/hyprland-protocols
Files: *
Copyright: 2022-2024 vaxerski
License: BSD-3-Clause
Files: debian/*
Copyright: 2024 Alan M Varghese <alan@digistorm.in>
License: BSD-3-Clause
Files: protocols/kde-server-decoration.xml
Copyright: 2015 Martin Gräßlin
License: LGPL-2.1+
Files: protocols/wayland-drm.xml
protocols/wlr-data-control-unstable-v1.xml
protocols/wlr-foreign-toplevel-management-unstable-v1.xml
protocols/wlr-gamma-control-unstable-v1.xml
protocols/wlr-layer-shell-unstable-v1.xml
protocols/wlr-output-management-unstable-v1.xml
Copyright: 2008-2011 Kristian Høgsberg
2010-2011 Intel Corporation
2015 Giulio camuffo
2017 Drew DeVault
2018 Ilia Bozhinov
2018 Simon Ser
2019 Ivan Molodetskikh
2019 Purism SPC
License: HPND-sell-variant
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that\n the above copyright notice appear in
all copies and that both that copyright notice and this permission
notice appear in supporting documentation, and that the name of
the copyright holders not be used in advertising or publicity
pertaining to distribution of the software without specific,
written prior permission. The copyright holders make no
representations about the suitability of this software for any
purpose. It is provided "as is" without express or implied
warranty.
.
THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
THIS SOFTWARE.
License: BSD-3-Clause
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.
License: LGPL-2.1+
This file is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
.
This file is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
.
On Debian systems, the complete text of the GNU Lesser General Public
License version 2.1 can be found in "/usr/share/common-licenses/LGPL-2.1".

1
debian/hyprland-backgrounds.install vendored Normal file
View File

@ -0,0 +1 @@
usr/share/hypr/wall*.png

2
debian/hyprland-dev.install vendored Normal file
View File

@ -0,0 +1,2 @@
usr/include
usr/share/pkgconfig

12
debian/hyprland.install vendored Normal file
View File

@ -0,0 +1,12 @@
usr/bin/Hyprland
usr/bin/hyprland
usr/bin/hyprctl
usr/bin/hyprpm
usr/share/hypr/hyprland.conf
usr/share/hypr/lockdead*.png
usr/share/wayland-sessions
usr/share/xdg-desktop-portal/hyprland-portals.conf
usr/share/man
usr/share/bash-completion
usr/share/fish
usr/share/zsh

4
debian/hyprland.lintian-overrides vendored Normal file
View File

@ -0,0 +1,4 @@
# hyprland does have a man page. It is under the name Hyprland
# with a capital 'H'. /usr/bin/hyprland (with a lowercase 'h')
# is a symlink to /usr/bin/Hyprland.
hyprland binary: no-manual-page

View File

@ -0,0 +1,16 @@
Description: Ensure make uses bash as its shell
The upstream Makefile contains several bash constructs (like '[['). These
fail on debian because the default shell for make is /bin/sh which points to
dash. And dash does not support such constructs. So have make use /bin/bash
as its shell.
Author: Alan M Varghese
Last-Update: 2024-10-11
Forwarded: not-needed
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,5 @@
PREFIX = /usr/local
+SHELL = /bin/bash
legacyrenderer:
cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:STRING=${PREFIX} -DLEGACY_RENDERER:BOOL=true -S . -B ./buildZ

View File

@ -0,0 +1,18 @@
Description: Add FORTIFY_SOURCE flag directly in Makefile
The flag, otherwise, doesn't seem to propogate correctly to all
modules built by the project. Use 'checksec' and 'hardening-check'
for verifying fortification on binaries.
Author: Alan M Varghese
Last-Update: 2024-10-11
Forwarded: not-needed
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -73,7 +73,7 @@
-Wno-missing-field-initializers
-Wno-narrowing
-Wno-pointer-arith
- -fmacro-prefix-map=${CMAKE_SOURCE_DIR}/=)
+ -fmacro-prefix-map=${CMAKE_SOURCE_DIR}/= -D_FORTIFY_SOURCE=2)
set(CMAKE_EXECUTABLE_ENABLE_EXPORTS TRUE)
set(CMAKE_EXPORT_COMPILE_COMMANDS TRUE)

2
debian/patches/series vendored Normal file
View File

@ -0,0 +1,2 @@
001-use-bash-in-makefile.patch
002-add-fortify-flags-for-subprojects.patch

35
debian/rules vendored Executable file
View File

@ -0,0 +1,35 @@
#!/usr/bin/make -f
# export DH_VERBOSE = 1
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic
export DEB_LDFLAGS_MAINT_APPEND = -Wl,-O2
%:
dh $@
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
# Do not delete scripts/generateVersion.sh.bak
dh_clean -X scripts/generateVersion.sh.bak
override_dh_dwz:
dh_dwz -XHyprland # Skipping dwz, compression not beneficial on Hyprland
#override_dh_auto_configure:
# dh_auto_configure -- \
# -DCMAKE_LIBRARY_ARCHITECTURE="$(DEB_TARGET_MULTIARCH)"

1
debian/source/format vendored Normal file
View File

@ -0,0 +1 @@
3.0 (quilt)

4
debian/source/local-options vendored Normal file
View File

@ -0,0 +1,4 @@
#
# ### gbp-buildpackage(1) user may like this. ###
#abort-on-upstream-changes
#unapply-patches

4
debian/source/options vendored Normal file
View File

@ -0,0 +1,4 @@
#
# ### dgit-maint-merge(7) workflow user need this ###
# single-debian-patch
# auto-commit

22
debian/source/patch-header vendored Normal file
View File

@ -0,0 +1,22 @@
The automatically generated patch puts this free form text on top of it.
If you are using gbp-buildpackage(1), you probably don't need this file.
If you are using dgit-maint-merge(7), please consider text as follows.
The Debian packaging of foo is maintained in git, using the merging workflow
described in dgit-maint-merge(7). There isn't a patch queue that can be
represented as a quilt series.
A detailed breakdown of the changes is available from their canonical
representation - git commits in the packaging repository. For example, to see
the changes made by the Debian maintainer in the first upload of upstream
version 1.2.3, you could use:
% git clone https://git.dgit.debian.org/foo
% cd foo
% git log --oneline 1.2.3..debian/1.2.3-1 -- . ':!debian'
(If you have dgit, use `dgit clone foo`, rather than plain `git clone`.)
A single combined diff, containing all the changes, follows.

8
debian/upstream/metadata vendored Normal file
View File

@ -0,0 +1,8 @@
#
# DEP-12: Per-package machine-readable metadata about Upstream
# Please check * https://dep-team.pages.debian.net/deps/dep12/
# * https://wiki.debian.org/UpstreamMetadata
Bug-Database: https://github.com/hyprwm/Hyprland/issues
Bug-Submit: https://github.com/hyprwm/Hyprland/issues/new
Repository: https://github.com/hyprwm/Hyprland
Repository-Browse: https://github.com/hyprwm/Hyprland

6
debian/watch vendored Normal file
View File

@ -0,0 +1,6 @@
version=4
opts="searchmode=plain, \
dversionmangle=s/\+ds//, \
oversionmangle=s/$/+ds/" \
https://api.github.com/repos/hyprwm/Hyprland/releases \
https://github.com/hyprwm/Hyprland/releases/download/v\d+\.\d+\.\d+/source-v(\d+\.\d+\.\d+)\.tar\.gz