From 4caaca5fdb7dabf4591dc8821222916b9ba8e2f2 Mon Sep 17 00:00:00 2001 From: Raven Date: Thu, 25 Apr 2024 17:27:02 +0600 Subject: [PATCH] wlroots: initial build --- ...ll-error-on-0-dimension-without-anch.patch | 44 +++ base/wlroots/examples.meson.build | 136 +++++++ base/wlroots/gpgkey-0FDE7BE0E88F5E48.gpg | Bin 0 -> 8249 bytes ...nd-fix-build-against-upcoming-gcc-14.patch | 52 +++ base/wlroots/wlroots-0.17.1.tar.gz.sig | Bin 0 -> 566 bytes base/wlroots/wlroots.spec | 331 ++++++++++++++++++ 6 files changed, 563 insertions(+) create mode 100644 base/wlroots/Revert-layer-shell-error-on-0-dimension-without-anch.patch create mode 100644 base/wlroots/examples.meson.build create mode 100644 base/wlroots/gpgkey-0FDE7BE0E88F5E48.gpg create mode 100644 base/wlroots/wlroots-0.17-backend-fix-build-against-upcoming-gcc-14.patch create mode 100644 base/wlroots/wlroots-0.17.1.tar.gz.sig create mode 100644 base/wlroots/wlroots.spec diff --git a/base/wlroots/Revert-layer-shell-error-on-0-dimension-without-anch.patch b/base/wlroots/Revert-layer-shell-error-on-0-dimension-without-anch.patch new file mode 100644 index 0000000..b6bd5ce --- /dev/null +++ b/base/wlroots/Revert-layer-shell-error-on-0-dimension-without-anch.patch @@ -0,0 +1,44 @@ +From 05cd68c9eee28c2223cc192b9744cff493f940cc Mon Sep 17 00:00:00 2001 +From: Aleksei Bavshin +Date: Sat, 25 Jun 2022 21:22:08 -0700 +Subject: [PATCH] Revert "layer-shell: error on 0 dimension without anchors" + +This reverts commit 8dec751a6d84335fb04288b8efab6dd5c90288d3. +--- + types/wlr_layer_shell_v1.c | 20 -------------------- + 1 file changed, 20 deletions(-) + +diff --git a/types/wlr_layer_shell_v1.c b/types/wlr_layer_shell_v1.c +index 37256db6..77dbad94 100644 +--- a/types/wlr_layer_shell_v1.c ++++ b/types/wlr_layer_shell_v1.c +@@ -335,26 +335,6 @@ static void layer_surface_role_commit(struct wlr_surface *wlr_surface) { + return; + } + +- const uint32_t horiz = ZWLR_LAYER_SURFACE_V1_ANCHOR_LEFT | +- ZWLR_LAYER_SURFACE_V1_ANCHOR_RIGHT; +- if (surface->pending.desired_width == 0 && +- (surface->pending.anchor & horiz) != horiz) { +- wl_resource_post_error(surface->resource, +- ZWLR_LAYER_SURFACE_V1_ERROR_INVALID_SIZE, +- "width 0 requested without setting left and right anchors"); +- return; +- } +- +- const uint32_t vert = ZWLR_LAYER_SURFACE_V1_ANCHOR_TOP | +- ZWLR_LAYER_SURFACE_V1_ANCHOR_BOTTOM; +- if (surface->pending.desired_height == 0 && +- (surface->pending.anchor & vert) != vert) { +- wl_resource_post_error(surface->resource, +- ZWLR_LAYER_SURFACE_V1_ERROR_INVALID_SIZE, +- "height 0 requested without setting top and bottom anchors"); +- return; +- } +- + if (surface->surface->unmap_commit) { + layer_surface_reset(surface); + +-- +2.41.0 + diff --git a/base/wlroots/examples.meson.build b/base/wlroots/examples.meson.build new file mode 100644 index 0000000..1e78006 --- /dev/null +++ b/base/wlroots/examples.meson.build @@ -0,0 +1,136 @@ +# Client examples are now available from a separate repository, +# https://gitlab.freedesktop.org/wlroots/wlr-clients +project( + 'wlroots-examples', + 'c', + meson_version: '>=0.58.0', + default_options: [ + 'c_std=c11', + 'warning_level=2', + 'werror=false', + ], +) + +cc = meson.get_compiler('c') +add_global_arguments('-DWLR_USE_UNSTABLE', language : 'c') + +cairo = dependency('cairo') +drm = dependency('libdrm') +egl = dependency('egl') +glesv2 = dependency('glesv2') +# Only needed for drm_fourcc.h +libdrm = dependency('libdrm').partial_dependency(compile_args: true, includes: true) +wayland_client = dependency('wayland-client') +wayland_egl = dependency('wayland-egl') +wayland_protos = dependency('wayland-protocols', version: '>=1.27') +wayland_scanner_dep = dependency('wayland-scanner', native: true) +wayland_scanner = find_program( + wayland_scanner_dep.get_variable('wayland_scanner'), + native: true, +) +wayland_server = dependency('wayland-server') +wlroots = dependency('wlroots', version: ['>=0.17.0', '<0.18.0']) +xkbcommon = dependency('xkbcommon') + +wl_protocol_dir = wayland_protos.get_variable('pkgdatadir') + +protocols = { + # Stable upstream protocols + 'xdg-shell': wl_protocol_dir / 'stable/xdg-shell/xdg-shell.xml', + + # Unstable upstream protocols + 'fullscreen-shell-unstable-v1': wl_protocol_dir / 'unstable/fullscreen-shell/fullscreen-shell-unstable-v1.xml', +} + +protocols_code = {} +protocols_server_header = {} +protocols_client_header = {} + +foreach name, path : protocols + code = custom_target( + name.underscorify() + '_c', + input: path, + output: '@BASENAME@-protocol.c', + command: [wayland_scanner, 'private-code', '@INPUT@', '@OUTPUT@'], + ) + + server_header = custom_target( + name.underscorify() + '_server_h', + input: path, + output: '@BASENAME@-protocol.h', + command: [wayland_scanner, 'server-header', '@INPUT@', '@OUTPUT@'], + ) + + client_header = custom_target( + name.underscorify() + '_client_h', + input: path, + output: '@BASENAME@-client-protocol.h', + command: [wayland_scanner, 'client-header', '@INPUT@', '@OUTPUT@'], + build_by_default: false, + ) + + protocols_code += { name: code } + protocols_server_header += { name: server_header } + protocols_client_header += { name: client_header } +endforeach + + +compositors = { + 'simple': { + 'src': 'simple.c', + }, + 'pointer': { + 'src': 'pointer.c', + }, + 'touch': { + 'src': ['touch.c', 'cat.c'], + }, + 'tablet': { + 'src': 'tablet.c', + }, + 'rotation': { + 'src': ['rotation.c', 'cat.c'], + }, + 'output-layout': { + 'src': ['output-layout.c', 'cat.c'], + }, + 'fullscreen-shell': { + 'src': 'fullscreen-shell.c', + 'proto': ['fullscreen-shell-unstable-v1'], + }, + 'scene-graph': { + 'src': 'scene-graph.c', + 'proto': ['xdg-shell'], + }, + 'output-layers': { + 'src': 'output-layers.c', + 'proto': [ + 'xdg-shell', + ], + }, + 'cairo-buffer': { + 'src': 'cairo-buffer.c', + 'dep': cairo, + }, + 'embedded': { + 'src': [ + 'embedded.c', + protocols_code['xdg-shell'], + protocols_client_header['xdg-shell'], + ], + 'dep': [wayland_client, wayland_egl, egl, glesv2], + }, +} + +foreach name, info : compositors + extra_src = [] + foreach p : info.get('proto', []) + extra_src += protocols_server_header[p] + endforeach + + executable( + name, + [info.get('src'), extra_src], + dependencies: [libdrm, wlroots, wayland_server, xkbcommon, info.get('dep', [])], + ) +endforeach diff --git a/base/wlroots/gpgkey-0FDE7BE0E88F5E48.gpg b/base/wlroots/gpgkey-0FDE7BE0E88F5E48.gpg new file mode 100644 index 0000000000000000000000000000000000000000..3530f3229196c6dd248e9ce5be9473a8990d4b63 GIT binary patch literal 8249 zcmb{1RZtv?wkF`Fad&qO?(RVvcXxNEfndSi-CY9&m*5f{f(3Vn;O=&7?^~y4PfeY9 zxaYpE=dbGj*IJoCWGKz|vm^*Kz?dsh^*#`>%PQvWv5opeRs1Y}M^F8f%K>qLyVQ2* zl`!ilim1;Fs`ze0sk7!I90{52-UiF>-n^*R2U|X3(`fh5AJ?GK|AsDufxV$A?oy@D z-c*vE3KtpiR5v7E^p076v5EmvY(ypBK-7`;kMVtF(%4&YnfW{(U?Kl$!32r1#|f~H zNY`XNgf-!Ei}urZn~SKRus?Dg!qbXc9Y$W!pRoL_OnFK?UvG#piEgd%b4eLZ0;v+V zkYbhvBH$Xi9zAJN9wOxSeA7>KAI^_6E^jQ8h`GgmhbA$WCmgIgvnBODPEZ0LOkgyv z`G@1SR{dOf1i6 z4r5Ug(^RgPgt5_2MmXvAW1ZBCFbJ?2Zmq>81!Th{T~2ds(6UM-O6*E%$3Cx%j6Ky8 zgz8l8*UR*C<&}AF>dodG#UefB(l;zFl&`Y7h zNNj3etbDLp|M(#c*T?;?&()Ppq`;`9I!&j5z6HtxkZZ~554dDeKabSrR;)5o9UsWv zX;67%DStv)Q4ZI8Y6GA{03e!3EF3Ic!8T5gWP)Z+j&3GqZleF1Fk89`M*=mVFd={d z5g;KX3?e)nEF=&H8x9DMfCz;HgoFT+Kmc(AaLA!JKT>I?E>O~oMR)d4H+;7K#2ZRO z1NEy?KcL}ZV^_}r2=HkCnlCn@ei&~4!ElJ9NWS?^vG3zl`YLOHY&@j;{*|j6{#;p- zz3^;ulD*6@@ENvyyv+1R*n`rI*w+=|NxGl;Jd>7Z_${@!#FA6X2=>e$KwaF_#Cf-M(k#l0fC%j za+B!UJ{RS88SHV4?O~P7L0Cy}axw$l7Jvd{ofy3eu~@e{I=UsVy(|%C%3AYxjVR9N zS8K?!m+z`DN=x4;iy8$r?Y#*rZ{7{9pBXQQ&6F;Hjk6(2u*^P+lMtBg*nO)gst)p8 zuxMdLK2Z85w3>}V)vVQbmE$&7Hm#^kpRNbsV+VO;Dq`!N5>ic5No$LcK;O-JiX$TO zYAn7xfgiEWG6cKmAdc*DI4rnSQH#Ss%2GD>HR6|YQ+7pI3XsCf{${)cAW+E@IOt{m zsJ{>*8>RZ@I3xo!bLFlrJKQ|B4W;eaBG`1q&Jp1E&c-RDI6F?Oo8!=-qxUDDXjCgo zZ^`1MF25fmB(0ssaYsD(1^{uhtrfLNTGl9?RlLo`5DDuF78yIOYM z`WjmJEk|&u!|1srJU?7;I)K9{|4UZXO0}#-%A>&#_$rm#4tJ0-2P(_Em zYu#cW)!3C-0Ue~j0jm^(A4MCGv^k^e>z2|HBw-0YIXeT9^%Adx+4-~45Vta}n*fh4 zAuhLFtf{xxo9KTA(~VvG>sF$KpSVYvvz&~t;0%v#YuZFu&t~e{>ntKT5pA!wNSqf# zub=KM*GO)( zSA_t`7?|@dIyf>|3K2Gzm>ci_*XAMB>*IXI*RbC-OY0Ov^!o6vuh6(WrUy#{rs$Mz zE#o{yunpxkLLY1n?Qu2ox%7`~PXp3CAeN=tfnql1!naqE|v_&&r>p^!u14Y{7p$O(L4R0?)k{Sp0pKULH(iwS+(VwzaY~gjWo7a*ji!g zeY%>XUC%gJI+20QZdy7KeLAd9;r&&)6hdG_5^(OuU$Y-N{np9k)eFTihN0a>4i~sO z^N9>$b9T)NeKJ70WKCJ`eS=U`i;+`yrL7`Y2U4=SK*A1eZW?U({t z1!~R{bytjs-5@RrB^D)~R}eM}auO}QFv2wo6u^U!g_(LH-#~dQ40;SuFh@re3o?O^f6Au_Nf^c`MRM{dHhn`8Cji2{b^J+WUOUoX?;V!)u5WaLcQV9%hM|n7;XY;Rm@sf_RB(k z-;Ixa3ZvyE+0-keQCxc&mDb`S8m8raKM*>y&6gTwtcI6!3;C5|r ziRZENc_EsbIe8u0_LggR$h*Ba$gCh3bryDe{GY?aZ@lAQT}67g@JD-RlwCJIJW(!?ddhiyPx3-2@aWHXB+jeu!D{^bo{ztN z5CO+;m8QS1%OUjYa@Cm6jh>VJksFPF&*fWAgp{nt(0EB(T7JdE8cH8=C-h%53^wwP z1PcG1O0>|xzsd}d5E2?5Vw)r2-zL;Q;|Gk5253eJkP(E*wuQ$vrOImzP(L|n4djbN z5h3U<3-RM7$ex(vEP+hK$h6wj%1F^HdISjFk2`~3F?1V;Gz-5(*F$~@`iC9yBY}e(7g3& zy366Ric+k$(w)5;_xWXMvRv5|9(hX8n?f^R2(x~72Z7~85sz>guLR_K{W z)5K`ffrG>0%i+<3`Q zVkVMS>s?)9@zf%y5h8SQEc=pGYziLKDLvuI^3)a0MK%&K=|=2TX)RXOsQZLDE7M^U z*QTqd3nK%E#}&+{y%>ft)L*kNU z0If#K5r2-J$gW#F%H4`bV~%s*NAZjxjQ!_Ni(?hS`w$oE%`_ML&<2v8X*bG(c}(&| zN^n!4Ire$NB4z3KdKUIZ{3e=hHUR2>R%^7kX!N1sA%EJ-{?pay9U9=9?AoV;WEQ`$ zE(8`;5%1EWQsFu@xX};viqPvj0N{#kKA%T^FN2zXqbds6y_^LpRv$t{s&x>up|RkiBofm7imE=Ic^nc+U1PB2djNSlk%4MJzx# zw(5J+zpMI4VO=zg9kcd5@3{zS@&rQ$8+@Bkn0C~&(B(*iRiY3 z1Rj=-{z#zAv~ktJj9}l`a}mF?)=cN1D}aICf^#s5M9mbJ0a7}WP(*)tt#;?}#=^e3u#ojuR|dzF6jxm{6*Pa)5nRC&1g)oN-K z%JaQi+A-;X0fiWNX;RWB#L-ZyzbfksYrPhnXoQEL_7Xm&jeVk4!&v%qwBilr_ z3BV|S1c|&uI|5D6F*MJMIftQwQ)F2iT9r+Ek#_U~rGWrtp8)+b&+$0*;+t&oZeqKR z)PP7IOdO2t2tTq9oJfxBEr`n8NUgH$Dl0N>aKorT9SwVSYvyI7r=1TXcge){XbV(HNKV5n1 zqQ1h{sXQlevj3uHOxk<6;oNODKtVXi-(&bCr?D2ZPZ8PG8x1>eoR67?{etZ|_-3WXp(5zCvYWYqw6XbVgA%_mRJ zsi^4uY(M94_O&H_!=6v#y5-;yMpmEDX3FnB3?P)#_~B9-keLYH?XvE8 zSGJkz5|FE`(3?HOuBYf^nmIKi4C%ypy(*Hu%yOo4KDB)R%>sp;Av`R0^Ce?+rE&t+ z>B)nNQDQB0S8Zh!-P=i0!qQ}Y6+9g4IX1t{{Yn!!hh3x{xojuoBVIj?iif+sO=Qx` z*_kfu4+*oWACn=z2N4@cobEGQ6zv!hb|(UoPUx&tk+Pr@+2u5kc+f=LgGx#V7 zp0WzvBK657-QpnEe-U^2!ghciI7ihn%H{w@ZXad8@*^M;fA%%(Gw$-4QJeNGYsb$8Q1%{|Q)o&7}61wk8}G0X0M=1M=b zwhI~_*6Ob6pRRJ7(ExGFhi?=Qh$LR(A^msh8r`Bt0%xT^p}qhU>z`Y&;w$rbQhnya zr!plQPZuIWYU1@$SPGt80f;NOKF{oC}@w7$C7i79e%nM(>iB34Yq8zu0=lCCKe$J6R8$s)^5ypSFQM0 zV3xHT4_(Q&dCx~E`=1$g8|p&HjVw#}&!2vy^od|-64%SqThq!MNaJ@rGwgKJ$1;Kt zlZck8;by9)Ei`mGvQ^s4Gqm^-t~ojIbm72ys?9zrvx?j*SR~RNJ1*b!XuU_Ta}hc3 z$=<6jPy76$kGy23HM!$RsGFFs(C~+Avh$jaqu`?*QL^;;W>?!-H-&37Q<^*(Ja|A~ zs`clvKB?;eb_Mr8TvH5g8PT|LKZC4)y($8U%5&y-OlgJmzmY|0yG%E$&Yc zzLBC@>4|S0KAiBC+(IzF?G|2+M(J*`lU`$;^=T_+Z)f#dn@vDaCZAh2I3(eUXyoccn=Mun`DGG*aV8gYl`vpfO_f zyrY@lkRV}X!i3uP^%cl085OsDWq(yfL!NPIRP3lexsFw3(-ZlOA`Q7+>KA9|!F65BHGmeZ6K|bD1tvf;%QFK{Czc;z&v@Xqa$B zZZJla+hIzM*~~qA;xd?n1=udLY^VuKfUC2B64vX)Aeukyzxg`pXBLFe)6O)xD&5pt zuU3ku_rFWb!ABEi!d!FF?sIZ>z=t)~r6|x9unQ4i#{=DSZ)#MR+0VTsMls5DVyn&V zhOELMCR7R%zZ&?7dG;0r1|nuXkumqVCM9t`;h9qQxS#Nax%^oP^%~k365Iwif9G^l zeP+5DNkT$!{sk4e=~Gh3BGg}_yeecl96}J%`Sln3fa2^kZce(1ol}xd`;D#Yo$nhF zyO&FDJ|Mw>{f4~!kU}0IVZP~s`)s#axTXcx0m~8(0nJrPWK#3?*P3C#r~@P8#}Ws9 zfEVuYiOS4K0{Z?}g{>)nLT!>imkLVqGxBm4PRt;9C`)KM|LyU~SO$*c|J6z7f%?v}bqrH)>Q=xyGN6qcYdev7 zw4b5N{?Mty2`I#QXZbdUO4GXVrwfRZtA3*qV!z+OvyV~*r&kBP@BvKI*Hi0ojq2$_ne)cxH!Iwv z{Ak<@c?06UvBe+xB~}~4+4wP9Iz%lIIC}#9grsrS)c4H~9BGjr-xeqZDXXus8J&No zG`&#J85YJ6#O@ZwE$xc}qAY_xw7qK7wWPI_%|^#vj>2FS&i79m5wvZWzItn#65~e4 zRjXq9$!k$nr{0`kXK}w6^>fzWw=2IXvgSX1dV~5A6tP>T^UyJ;wuxqWvQvC}L^w1f z|7ryg_2RWp9!)IXq;l%H3G(>ym> z;(W^ORdiB!J}nwyvqU55D-5GGh3L%ebAQL!Y*IfdvyHLqi9(rq*Oflltwo+$05d%JJL$ks zu`^K5^AK~hQ#Zp2uODy6v>B~&IaG$I`~yD?kYxLLcK{$D~_cue@X z`FPn)`FJ^bc{wdvxjA{v%y@a&EKSY0cuaU%|2LKPxS_tGc{9j0!-kI@LxK`bh_Q_H zKKf^$f!f?dq;DsKUi={V0itxBxVC!T%S9NIZl-l_d!!-NqI;4)W){lTQ>Ux7_O3+Q zobhL>5aG!Au?r(-IIZ!27 z!xR@y!7-7Z{8oV<675`LjFEYck;LkIInY{!lTNELUenJFU|0&c>UgF*J->BvS=Ctg zwcU`!>DF~5R;%x!ovx^qm&w6YMogy3D~X!RkD-V`p(lmY--C%?dHENKqv?6sWfepH zHc}n8(LK1)y2QrCx*}^DfQiRSVKk+sNb5Btw9kW?Fwq7I81)8E;f&fm4)Fgs( zmqB@aGbSja$h3U3@gQEkUwMO_%k`#rU(B%DUl{ToF>&T5dvW5rB>Kg?27l=|Gbao{ zUJ+8XB?c<)gq#5tQucS4!{hwFO;G2H3+>I@st)NXNKx_*Kf3N#U zY=?0dRpG#~OU!DYy+V~p*~c34jP)8^SrydqGQI`Ai{>lC2E$!SlOWn_fEeppQE#Un za8d_AQl1{0Os7_d-ooYB5=}i>Er*?&GoIt)4@y4Gnefw6A;8uK6v0n>Ktfz`z63q1 ze*4CNBB7&$Vhex~y{8R5OK^y&DcXKLMLRg_UQsNAQ8sbR8J4o1z`lRC!_grMKwguM zm=H|pHuuHV7fGlGC!aK8N&nMM0D(*wT2!F*+2z*&M!|{z;QZcZO<)Yt{^wG(TWwkI zVa}dO!ScHAw2g@^u`Px5<9a{ho0f4@OjoC#fwZVbhumn5J#0GdrzvuzP!#OW9X`*$G4ex`;?DmYJ2@XPjADlqpYAM|*u4ju(OU)t7w{ z$!^>B>oiI>@|)pf0O~D!a(#GCgp~V=rD0&2#A%_1(ZfvWX&pR-r<< zRS}4l3Tb>FbUj6-X+5BfE zOUy%k=hm0N&jHlsKVPLx8}4ra_i>VU8D3a!wm!u-GV>YEeDr&v?tiVmCP@wTNB1MX zy$A)hDjMP&>m{rGX+ZWi!qLq)@Hw(3+x_IVIsbhp-OP`5Hf0>^(O+4?Ka)Hx=yE{4 zqP1C1wkO1!4by{ zh3bzF`9?cD%Va<-tp508MW+amJW+!R)%;NIVh_!Lg&BZ6GIv=~dVf07V!=ap z!}!?e{_f;eoLeaUb;2KW$D6+5Xb-ZQ?ocQ(`)E6aG61(oH&pI3j!t8P@6TJ8U!vIs zQ)j6*+|ZJxo7QLE4cm74np9YtW#gG%$LZtqWl%)UiEP5^-e4H6o_h6 zX$^Xr*dlVw7@TPOvA-`oGpD{(93hMpA!zPpG|)jTUp%d z$v@$xjiHFCMGwVZ!3uL~-?#J!z{G7)g+`oGdtFtL(Cj}Utj$Z|YM^f+!ywY}O~S|F zgxELbvJ-r29{(nK%FPb=ZYwe>pGL!0(qt8*7j0ieCdC-zX9+%h^WA$3ljhSjC;1?| zoIikSd4d(#Tx(chKC(L-52}&J$Ya`=6kvv$(3rKJCC`;%gVP{AR2PQyqDq&U{zI#v zjvll^P1ak2a$lK;G`%P6-U;Dqbf@kzi$BV$ggfCcuj8%dM23{5nU@d=-Emmla1k8! zv1;C8sn(Dfooz}bT{OiWVxJB RkAkQPy`Wo*YlM0Ce*wzX|0Dna literal 0 HcmV?d00001 diff --git a/base/wlroots/wlroots-0.17-backend-fix-build-against-upcoming-gcc-14.patch b/base/wlroots/wlroots-0.17-backend-fix-build-against-upcoming-gcc-14.patch new file mode 100644 index 0000000..1199143 --- /dev/null +++ b/base/wlroots/wlroots-0.17-backend-fix-build-against-upcoming-gcc-14.patch @@ -0,0 +1,52 @@ +From f3e1f7b2a70a500b740bfc406e893eba0852699a Mon Sep 17 00:00:00 2001 +From: Sergei Trofimovich +Date: Thu, 21 Dec 2023 21:06:20 +0000 +Subject: [PATCH] backend: fix build against upcoming `gcc-14` + (`-Werror=calloc-transposed-args`) + +`gcc-14` added a new `-Wcalloc-transposed-args` warning recently. It +detected minor infelicity in `calloc()` API usage in `wlroots`: + + ../backend/libinput/tablet_pad.c: In function 'add_pad_group_from_libinput': + ../backend/libinput/tablet_pad.c:36:38: error: 'calloc' sizes specified with 'sizeof' in the earlier argument and not in the later argument [-Werror=calloc-transposed-args] + 36 | group->rings = calloc(sizeof(unsigned int), group->ring_count); + | ^~~~~~~~ + ../backend/libinput/tablet_pad.c:36:38: note: earlier argument should specify number of elements, later size of each element +--- + backend/libinput/tablet_pad.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/backend/libinput/tablet_pad.c b/backend/libinput/tablet_pad.c +index 2e74022a5..e53275281 100644 +--- a/backend/libinput/tablet_pad.c ++++ b/backend/libinput/tablet_pad.c +@@ -33,7 +33,7 @@ static void add_pad_group_from_libinput(struct wlr_tablet_pad *pad, + ++group->ring_count; + } + } +- group->rings = calloc(sizeof(unsigned int), group->ring_count); ++ group->rings = calloc(group->ring_count, sizeof(unsigned int)); + if (group->rings == NULL) { + goto group_fail; + } +@@ -50,7 +50,7 @@ static void add_pad_group_from_libinput(struct wlr_tablet_pad *pad, + ++group->strip_count; + } + } +- group->strips = calloc(sizeof(unsigned int), group->strip_count); ++ group->strips = calloc(group->strip_count, sizeof(unsigned int)); + if (group->strips == NULL) { + goto group_fail; + } +@@ -66,7 +66,7 @@ static void add_pad_group_from_libinput(struct wlr_tablet_pad *pad, + ++group->button_count; + } + } +- group->buttons = calloc(sizeof(unsigned int), group->button_count); ++ group->buttons = calloc(group->button_count, sizeof(unsigned int)); + if (group->buttons == NULL) { + goto group_fail; + } +-- +GitLab + diff --git a/base/wlroots/wlroots-0.17.1.tar.gz.sig b/base/wlroots/wlroots-0.17.1.tar.gz.sig new file mode 100644 index 0000000000000000000000000000000000000000..7d6c5b322acf18289747c633af0e2fe17a675bee GIT binary patch literal 566 zcmV-60?GY}0y6{v0SEvc79j*Q|CJ`s?+%xvK;q;N-h1Hak6uUx0%e4Ua{vkn5D(sa z;OLKDNQ7(;|4>$i$irgf=z7b797lxEqSL|gcYQsNUpknE3Oj{DTXEXrg63W!-W6r> z-f~tlI;XyUx0av$TVdj@Gf8poS7X;C5mk~#q@J9ZF~Xq+{t_xzVDb!0qXP{ytZ9%h z=c{`IHuOXJrdy4f0Yw0jx=!d}a|T--r*`&Uo}Kvd%d7JKEDCT3+ay+a(OB?dumy&p z<*eqGQkdX$n+sB8y_>ZeqGwe{P+YV61iPb4oCdv}@c7DxIbwj~q+$yKb0)O2guSa_ z=SW)0`Q7BR@9q$96sip1_4N!u!EtI}?<0Y-wJN`A=jLSv_-hs*tHfguIfavBV+qP2 zPjkdq5-K4JY1{0{UUmHZU0@+ratQ*rvuqQOV7zw0D@8*RPFS=1!ou6!c zC3+nk>#R%pLq~y)mN$cSODW#~#R`^Bi%_Lngell&`ht^!ej(3VzPFLcgE%}iub&A- zX9{a2av4!-gaXq0%iOVwmFwzcj5p0^?@2#X$8x?i+KSE94{)^G4#p!Nm|x+`CPaQA zE8Wg$NLpSL9=Szk;dwb+&1~J(AD@K|hI*KlcO)Si$c%wG0XsS%Qn3bYGT*0JOsqH% zG6OU#$q0voU2{ySmy}b&U3OQ`f#( Em~})AumAu6 literal 0 HcmV?d00001 diff --git a/base/wlroots/wlroots.spec b/base/wlroots/wlroots.spec new file mode 100644 index 0000000..0b14bb0 --- /dev/null +++ b/base/wlroots/wlroots.spec @@ -0,0 +1,331 @@ +# Version of the .so library +%global abi_ver 12 +%global _rxlibdir /opt/rx/%{_lib} +%global _rxincludedir /opt/rx/include + +Name: wlroots +Version: 0.17.1 +Release: 2%{?dist} +Summary: A modular Wayland compositor library + +# Source files/overall project licensed as MIT, but +# - HPND-sell-variant +# * protocol/drm.xml +# * protocol/wlr-data-control-unstable-v1.xml +# * protocol/wlr-foreign-toplevel-management-unstable-v1.xml +# * protocol/wlr-gamma-control-unstable-v1.xml +# * protocol/wlr-input-inhibitor-unstable-v1.xml +# * protocol/wlr-layer-shell-unstable-v1.xml +# * protocol/wlr-output-management-unstable-v1.xml +# - LGPL-2.1-or-later +# * protocol/server-decoration.xml +# Those files are processed to C-compilable files by the +# `wayland-scanner` binary during build and don't alter +# the main license of the binaries linking with them by +# the underlying licenses. +License: MIT +URL: https://gitlab.freedesktop.org/wlroots/wlroots +Source0: %{url}/-/releases/%{version}/downloads/%{name}-%{version}.tar.gz +Source1: %{url}/-/releases/%{version}/downloads/%{name}-%{version}.tar.gz.sig +# 0FDE7BE0E88F5E48: emersion +Source2: https://emersion.fr/.well-known/openpgpkey/hu/dj3498u4hyyarh35rkjfnghbjxug6b19#/gpgkey-0FDE7BE0E88F5E48.gpg + +# this file is a modification of examples/meson.build so as to: +# - make it self-contained +# - only has targets for examples known to compile well (cf. "examples) global) +Source3: examples.meson.build + +# Upstream patches +Patch1: %{url}/-/commit/f3e1f7b.patch#/wlroots-0.17-backend-fix-build-against-upcoming-gcc-14.patch + +# Fedora patches +# Following patch is required for phoc. +Patch2: Revert-layer-shell-error-on-0-dimension-without-anch.patch + +BuildRequires: gcc +BuildRequires: glslang +BuildRequires: gnupg2 +BuildRequires: meson >= 0.59.0 + +BuildRequires: (pkgconfig(libdisplay-info) >= 0.1.1 with pkgconfig(libdisplay-info) < 0.2) +BuildRequires: (pkgconfig(libliftoff) >= 0.4.0 with pkgconfig(libliftoff) < 0.5.0) +BuildRequires: pkgconfig(egl) +BuildRequires: pkgconfig(gbm) >= 17.1.0 +BuildRequires: pkgconfig(glesv2) +BuildRequires: pkgconfig(hwdata) +BuildRequires: pkgconfig(libdrm) >= 2.4.114 +BuildRequires: pkgconfig(libinput) >= 1.21.0 +BuildRequires: pkgconfig(libseat) +BuildRequires: pkgconfig(libudev) +BuildRequires: pkgconfig(pixman-1) >= 0.42.0 +BuildRequires: pkgconfig(vulkan) +BuildRequires: pkgconfig(wayland-client) +BuildRequires: pkgconfig(wayland-protocols) >= 1.32 +BuildRequires: pkgconfig(wayland-scanner) +BuildRequires: pkgconfig(wayland-server) >= 1.22 +BuildRequires: pkgconfig(x11-xcb) +BuildRequires: pkgconfig(xcb) +BuildRequires: pkgconfig(xcb-errors) +BuildRequires: pkgconfig(xcb-icccm) +BuildRequires: pkgconfig(xcb-renderutil) +BuildRequires: pkgconfig(xkbcommon) +BuildRequires: pkgconfig(xwayland) + +Requires: rx-libinput +Requires: rx-pixman +Requires: rx-libwayland-client +Requires: rx-libwayland-egl +Requires: rx-libwayland-server + +%description +%{summary}. + + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} == %{version}-%{release} +# not required per se, so not picked up automatically by RPM +Recommends: pkgconfig(xcb-icccm) +# for examples +Suggests: gcc +Suggests: meson >= 0.58.0 +Suggests: pkgconfig(wayland-egl) >= 1.22 + +%description devel +Development files for %{name}. + + +%prep +%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' +%autosetup -N +# apply unconditional patches (0..99) +%autopatch -p1 -M99 +# apply conditional patches (100..) + + +%build +export PKG_CONFIG_PATH=%{_rxlibdir}/pkgconfig${PKG_CONFIG_PATH:+:${PKG_CONFIG_PATH}} +export LDFLAGS="-L%{_rxlibdir} -Wl,-rpath=%{_rxlibdir} ${LDFLAGS:-%__global_ldflags}" + +MESON_OPTIONS=( + # Disable options requiring extra/unpackaged dependencies + -Dexamples=false +) + +%{meson} "${MESON_OPTIONS[@]}" +%{meson_build} + + +%install +%{meson_install} +install -pm0644 -D '%{SOURCE3}' '%{buildroot}/%{_pkgdocdir}/examples/meson.build' + + +%check +%{meson_test} + + +%files +%license LICENSE +%doc README.md +%{_libdir}/lib%{name}.so.%{abi_ver}{,.*} + + +%files devel +%doc %{_pkgdocdir}/examples +%{_includedir}/wlr +%{_libdir}/lib%{name}.so +%{_libdir}/pkgconfig/%{name}.pc + + +%changelog +* Sat Jan 27 2024 Fedora Release Engineering - 0.17.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Thu Dec 21 2023 Aleksei Bavshin - 0.17.1-1 +- Update to 0.17.1 (#2255547) + +* Tue Nov 21 2023 Aleksei Bavshin - 0.17.0-1 +- Update to 0.17.0 (#2250885) +- Use xcb-errors util library +- Apply patches from 0.17.x bugfix branch + +* Sat Jul 22 2023 Fedora Release Engineering - 0.16.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sun Apr 16 2023 Aleksei Bavshin - 0.16.2-2 +- Apply upstream patch to remove hardcoded Vulkan validation layers + +* Fri Feb 10 2023 Aleksei Bavshin - 0.16.2-1 +- Update to 0.16.2 (#2168992) + +* Sat Jan 21 2023 Fedora Release Engineering - 0.16.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sun Dec 25 2022 Aleksei Bavshin - 0.16.1-1 +- Update to 0.16.1 + +* Fri Dec 02 2022 Aleksei Bavshin - 0.16.0-1 +- Update to 0.16.0 (#2142159) +- Add patch for compatibility with older libdrm +- Sync examples.meson.build with upstream, include all available examples + +* Mon Nov 14 2022 Aleksei Bavshin - 0.15.1-5 +- Backport upstream crash fix (#2142447) +- Convert license to SPDX + +* Sat Jul 23 2022 Fedora Release Engineering - 0.15.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sun Jun 26 2022 Aleksei Bavshin - 0.15.1-3 +- Add patches required for phoc 0.20 + +* Wed Jun 01 2022 Aleksei Bavshin - 0.15.1-2 +- Drop patches for wayland 1.19 compatibility + +* Sat Feb 05 2022 Aleksei Bavshin - 0.15.1-1 +- Update to 0.15.1 (#2050408) + +* Tue Jan 25 2022 Aleksei Bavshin - 0.15.0-3 +- Backport fix for permission popups in Firefox + +* Sat Jan 22 2022 Fedora Release Engineering - 0.15.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Sun Jan 16 2022 Aleksei Bavshin - 0.15.0-1 +- Update to 0.15.0 (#2033651) +- Update upstream URL to gitlab.freedesktop.org +- Backport some patches from 0.15.1 milestone + +* Mon Dec 13 2021 Aleksei Bavshin - 0.14.1-3 +- Add patch for disappearing cursor issue (#2027431) + +* Fri Jul 23 2021 Fedora Release Engineering - 0.14.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Thu Jul 08 2021 Aleksei Bavshin - 0.14.1-1 +- Update to wlroots 0.14.1 + +* Wed Jul 07 2021 Aleksei Bavshin - 0.14.0-2 +- Add patch for a few more issues with cursors, multi-GPUs and nouveau + +* Wed Jun 23 2021 Aleksei Bavshin - 0.14.0-1 +- Update to 0.14.0 +- Add upstream patch for cursor issues on scaled outputs + +* Tue Jun 01 2021 Aleksei Bavshin - 0.13.0-2 +- Enable libseat session backend + +* Wed Apr 07 2021 Aleksei Bavshin - 0.13.0-1 +- Update to 0.13.0 (#1947218) + +* Wed Jan 27 2021 Fedora Release Engineering - 0.12.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Sun Nov 08 2020 Aleksei Bavshin - 0.12.0-1 +- Updated to version 0.12.0 + +* Wed Jul 29 2020 Fedora Release Engineering - 0.11.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jul 15 2020 Aleksei Bavshin - 0.11.0-1 +- Updated to version 0.11.0 + +* Sat May 09 2020 Till Hofmann - 0.10.1-2 +- Add patch from upstream #2167 to fix #1829212 + +* Tue Mar 24 2020 Nikhil Jha - 0.10.1-1 +- Updated to version 0.10.1 (https://github.com/swaywm/wlroots/releases/tag/0.10.1) + +* Mon Feb 10 2020 Jan Staněk - 0.10.0-6 +- Propagate mesa-libEGL-devel workaround to -devel requirements + +* Sat Feb 08 2020 Simone Caronni - 0.10.0-5 +- RDP backend is no longer in wlroots 0.10. + +* Fri Feb 07 2020 Simone Caronni - 0.10.0-4 +- Rebuild for updated FreeRDP. + +* Tue Feb 04 2020 Jan Staněk - 0.10.0-3 +- Disable -Werror compilation flag on s390x + (https://github.com/swaywm/wlroots/issues/2018) + +* Wed Jan 29 2020 Jan Staněk - 0.10.0-2 +- Backport fix for compilation with GCC 10 + +* Tue Jan 28 2020 Joe Walker - 0.10.0 +- Updated to version 0.10.0 (https://github.com/swaywm/wlroots/releases/tag/0.10.0) + +Mon Jan 20 2020 Jan Staněk - 0.9.1-1 +- Upgrade to version 0.9.1 (https://github.com/swaywm/wlroots/releases/tag/0.9.1) + +* Thu Sep 12 2019 Jan Staněk - 0.7.0-2 +- Spec file cleanup + +* Thu Aug 29 2019 Jeff Peeler - 0.7.0-1 +- Updated to version 0.7.0 + +* Sat Jul 27 2019 Fedora Release Engineering - 0.6.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Thu May 09 2019 Jan Pokorný - 0.6.0-1 +- Updated to version 0.6.0 + (see https://github.com/swaywm/wlroots/releases/tag/0.6.0) +- Overhaul dependencies and shipped examples in -devel + +* Tue Apr 16 2019 Adam Williamson - 0.5.0-2 +- Rebuild with Meson fix for #1699099 + +* Thu Mar 14 2019 Jan Pokorný - 0.5.0-1 +- Updated to version 0.5.0 (0.2, 0.3, 0.4, 0.4.1 releases effectively skipped) +- Avoid building some parts that are not shipped in binary form, anyway +- Minor spec cleanup (clarify the licensing comment, licensecheck's NTP ~ MIT, + ldconfig_scriptlets no longer relevant, arch-specific tweak no longer needed) + +* Sun Feb 03 2019 Fedora Release Engineering - 0.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Tue Nov 27 2018 Jan Pokorný - 0.1-4 +- Fix Firefox crash around text selection/clipboard + (https://github.com/swaywm/wlroots/pull/1380) + +* Tue Nov 27 2018 Jan Pokorný - 0.1-3 +- Make Firefox run smoother (https://github.com/swaywm/wlroots/pull/1384) + +* Wed Nov 07 2018 Jan Pokorný - 0.1-2 +- Fix incorrect "pkgconfig" version + +* Wed Oct 31 2018 Jan Pokorný - 0.1-1 +- Updated to historically first official release +- Turned off implicit enablement of all 'auto' build features under Meson, + since xcb-errors is not available at this time +- Added BR: libpng +- Expanding spec comment on source files not covered with MIT license + +* Sat Jul 14 2018 Fedora Release Engineering - 0.0.1-0.9.20180106git03faf17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Fri Feb 09 2018 Fedora Release Engineering - 0.0.1-0.8.20180106git03faf17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sat Jan 13 2018 Björn Esser - 0.0.1-0.7.20180106git03faf17 +- Updated snapshot + +* Wed Jan 03 2018 Björn Esser - 0.0.1-0.6.20180102git767df15 +- Initial import (#1529352) + +* Wed Jan 03 2018 Björn Esser - 0.0.1-0.5.20180102git767df15 +- Updated snapshot + +* Sun Dec 31 2017 Björn Esser - 0.0.1-0.4.20171229git80ed4d4 +- Add licensing clarification +- Add BR: gcc + +* Sat Dec 30 2017 Björn Esser - 0.0.1-0.3.20171229git80ed4d4 +- Updated snapshot + +* Wed Dec 27 2017 Björn Esser - 0.0.1-0.2.20171227giteeb7cd8 +- Optimize spec-file + +* Wed Dec 27 2017 Björn Esser - 0.0.1-0.1.20171227giteeb7cd8 +- Initial rpm release (#1529352)