From 722d963ef287f2469133f6677b0d3e25ae4e2ede Mon Sep 17 00:00:00 2001 From: Weijia Wang <9713184+wegank@users.noreply.github.com> Date: Fri, 24 Mar 2023 16:29:09 +0200 Subject: [PATCH] owl-compositor: init at unstable-2021-11-10 --- .../window-managers/owl/default.nix | 87 ++++++++++++++++++ .../window-managers/owl/mac/MainMenu.nib | Bin 0 -> 6088 bytes .../owl/mac/OwlPreferences.nib | Bin 0 -> 2806 bytes pkgs/top-level/all-packages.nix | 2 + 4 files changed, 89 insertions(+) create mode 100644 pkgs/applications/window-managers/owl/default.nix create mode 100644 pkgs/applications/window-managers/owl/mac/MainMenu.nib create mode 100644 pkgs/applications/window-managers/owl/mac/OwlPreferences.nib diff --git a/pkgs/applications/window-managers/owl/default.nix b/pkgs/applications/window-managers/owl/default.nix new file mode 100644 index 000000000000..ac42c38e7aaa --- /dev/null +++ b/pkgs/applications/window-managers/owl/default.nix @@ -0,0 +1,87 @@ +{ lib +, stdenv +, fetchFromGitHub +, gnustep +, libxkbcommon +, makeWrapper +, wayland +, wayland-scanner +, darwin +}: + +assert wayland.withLibraries; + +let + mkDerivation = if stdenv.isDarwin then stdenv.mkDerivation else gnustep.gsmakeDerivation; +in +mkDerivation { + pname = "owl"; + version = "unstable-2021-11-10"; + + src = fetchFromGitHub { + owner = "owl-compositor"; + repo = "owl"; + rev = "91abf02613cd2ddb97be58b5b6703240320233a0"; + hash = "sha256-a+TznasOVEzSNrs66/y91AeMRDEfyd+WO5mO811hLj0="; + }; + + # use pregenerated nib files because generating them requires Xcode + postPatch = lib.optionalString stdenv.isDarwin '' + sed -i "/ibtool/d" configure + mkdir -p build/Owl.app/Contents/Resources/English.lproj + cp ${./mac/MainMenu.nib} build/Owl.app/Contents/Resources/English.lproj/MainMenu.nib + cp ${./mac/OwlPreferences.nib} build/Owl.app/Contents/Resources/English.lproj/OwlPreferences.nib + ''; + + strictDeps = true; + + nativeBuildInputs = [ + makeWrapper + wayland-scanner + ] ++ lib.optionals stdenv.isDarwin [ + darwin.DarwinTools + darwin.bootstrap_cmds + ] ++ lib.optionals (!stdenv.isDarwin) [ + gnustep.make + ]; + + buildInputs = [ + libxkbcommon + wayland + ] ++ lib.optionals stdenv.isDarwin [ + darwin.apple_sdk.frameworks.Cocoa + ] ++ lib.optionals (!stdenv.isDarwin) [ + gnustep.back + gnustep.base + gnustep.gui + ]; + + preConfigure = '' + mkdir -p build + cd build + ''; + + configureScript = "../configure"; + + # error: "Your gnustep-base was configured for the objc-nonfragile-abi but you are not using it now." + env.NIX_CFLAGS_COMPILE = lib.optionalString (!stdenv.isDarwin) "-fobjc-runtime=gnustep-2.0"; + + installPhase = '' + runHook preInstall + + mkdir -p $out/{Applications,bin} + mv Owl.app $out/Applications + makeWrapper $out/{Applications/Owl.app${lib.optionalString stdenv.isDarwin "/Contents/MacOS"},bin}/Owl + + runHook postInstall + ''; + + meta = with lib; { + description = "A portable Wayland compositor in Objective-C"; + homepage = "https://github.com/owl-compositor/owl"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ wegank ]; + platforms = platforms.unix; + mainProgram = "Owl"; + }; +} diff --git a/pkgs/applications/window-managers/owl/mac/MainMenu.nib b/pkgs/applications/window-managers/owl/mac/MainMenu.nib new file mode 100644 index 0000000000000000000000000000000000000000..ea5c6f8fe3a0da7bc038a401799278b12a3ea0af GIT binary patch literal 6088 zcmebCbaE_8&d4lFWn^Gr;9_84IK;rfV8p<{pv%C(z|YLU@PLVd;RGuK10Mqe!%r~= zhK7cw#-^^Op2p_h#+JUu*8T}?^IMu0H#RS6Y+l;fwydRTRb%t&#`ZN$&FdOl*SBv$3(6tFf`0yRo^0ud%aP zys@!aqOq|_vazvQs zzOk`6p|P<$v9YNmxv{f3r?Ig)x3RG~ud%T^zp<&Ku(7kbsV19w5hRKtf{d_ylG{-LsN6Jb5mohOH*5iS5t3ucvE9@ zL{npXWK(l%OjA!sMpJi3aZ`6kT~lu}cXMMqPjhoCe{*BAKyzbD>Q*%?ROLKFFdvkAdNONO*XmfLGM00ybd~;VvW^;FQNpoXIX>(6A zV@qQ@Q%iFzYfDozdrM<8M@wT9XG>!#=ZCV?9ZCe|A?OGdq?OPjr9aW4y;~c5eOeoPeOnuQ{aPD){aYJ* z16mt<16vz=gIXJVgIgPWLs}bqLt7hr!&)1A!&@7BBU&4KBU>ALqgoq#qgxw$V_F+~ zV_O?r<60Yg;#(U#{DSq8Doav}r-XX?WhS}iCFiH47P;mYlvH}BR(ALW2j`a-C8zfL z1^Xvur6!jYhb88erWQ~43wBISPAx9ZOv=p3EUEO*OeywGtt{^I3--**$;?Yl0julv z3wB8@F3HSGEXmBz>-G!wP0cIyEJ@8R?(_@x&-2VpOi%6g3---R&CSotO!mo7?)D3I z&PgmT_Djr7?eYuOD=tV)&P>b!Gc&7F%Mx=Y_yvb$7H1~qq=skarR0|v&+-d)%*n|w zPfc;lFY?LE%`8bxaV#kC%})WD?OE)YQ<7Sgmspb8;TIf|Sd^Yx(&rZ(lv)h-7|5QP zXr6J-&&x|qF3B${?uC0BFcoYWq_V36;@{w;3v3kE6a z^a~CyP0CHpEA4{Fg0=evLru=i&nxZ#Sqci3g;3{%!q2s^G_x!*CpE9cCqFqcC$kD1 zZtZ@-K8Z=GIlZ1vdimg3NJ%V7?D7ltPOSv%n1|H}-^`+-{G!af^iIEEz0AClvc#M= zNDQER7~%dNPbZhu;>`5C;LNJjrGCNA8JRgL&iQ#IMfo{7sYT93sbCicr{;hI2;|o` zzu=(!{E}IoPI|?a#U-h^Zuxm7p#>?4C8=SlMa7xhU=E;a@RhDI(>1<}Z*2xhB-Ni8s`2PRFy zq!pNS0Fy3Y(gRHTfXP5G844z&7#J9u!0v71VrO7rn9IeI2D&czQ_)DD#dc})Q97#T1r$H2g_2yE;e)&;Cnxda&)80K>cF)%Q6GX4Mm zzrKS@n1O*|HJ1d~lr~W2RWNMeXz1b+VPIgG$R*0az%Ye#36~fH1H%f=299>WU~ptL zaP&hGn{!5La&~TFQFb>2QxBIo*qDxLLkk@RL$g|#DUwiAq@boufanFseQ-%)Nh(;g zG+1*xShGnjva4l@aJ3P#26-Yh7&mZqCqsiYHLtXZO9>qKD&P>SU|?W?gqSkisFh3% z3<6lgZITlxBPuxNY^d}Y-CFZ54dgg%zteUvgz!qqtS)dNKK!bsS z0k;JmzL|NMxtUd|4IGWR4IGmTQj5~^i*iAti6x~)nN_J)OKZ2`5Y z=5m>Uy@IgC0BnmPUa#~86s4x67NzDTrxrhISk}PNsMEz|432tG{y>s#;Fy+QkeY`i z0;v+Lnz+osA!&(by*b!=3%u5Mcx0xeLVVho(ZJD~k(mMtJ8Q77?7+s_qZw-hHr5uu zv4N$T&;V>Kgq1s8C8=kadxK3! zWDYMPOmB(G&(Ce(=z*qL5YMWK%NJ~30NA_|crx_^o97P=YV5($19ojletu3;Vo?J} zV@U(Y3U^Pqf~ z0&tBIkeHKNQUZ$PFtC-8U@Pn4z6u9h83FYb_9CRizdT35BQ>X>fuqsBfuplHBflKP zwQAyu1{)d+HWU=}{j89ZDF$pT$S2s!^69~;MP;c)y1}6I?vk3E52=!i8#pFHLdzwy zxF9F7GC0`93RG)=(taaXJh;{<1Ct=T8o8>$Y*5+Q$OTFSjo@Oek*f+U4su%~R}z>F zDhC?DrBEX{gEoSbWFr?SZ#8n|fz^OYk4CNxFgqPgW`fCVFqsb~K{=(7s|d^nC5=XK zVrc}&XCqfFSR53%ja;DMZsaNii-4-mMlSTauMu1kH*z(D)qpD5MlMjG=odqzG6s2(lHs-ShSkT1v0FiD-GZs#fmhYND@Nfx;p352fzYl82@25;aCOxQ zCcD67H<;`Jlf7WF4@~xh$q8U`BAA>6CMSc*DPVFcn4AVCr-R8EU~(pyoCPLlgULBy zaxR#h2PWr($pv6?A(&hQCKrRrC17$Xm|O-XmxIX_U~(mxTm>dqgUK~uaxIu#2PW5p z$qis~BbeL-CO3o0EnsphnA`>?w}Z(YU~(sz+yy3ggULN$axa+N2PXG3Ffc4+v|w7u zXvwsY(TZsyqczh)MjNJujJ8Y*8SR)BGTJjOWOQI!$mqzlkkN^0A)_j9^;G7|FDdF^Xv+V>Hu3#u%oBjIm4$8RM81 zGR8A4WK3XM$e75qkTHpAA!9PrLdF!Pg^a083mMax7BZ$YEo97KTF98mw2(22X(3}a z(?Z4^riF~TObZ$Fm=-eTGl51lIvZevSq%LRe!-qjkO4iH#F9j?0HnbR5o7=<4lV)p zSs8j8{DOT;OF)Az!Ko!+rBJS8QBh(g!_)@9V86^H|I(72)Dq|bSAG#gJ4jndg=c4%l literal 0 HcmV?d00001 diff --git a/pkgs/applications/window-managers/owl/mac/OwlPreferences.nib b/pkgs/applications/window-managers/owl/mac/OwlPreferences.nib new file mode 100644 index 0000000000000000000000000000000000000000..14f187d144e5891f824e003a26d97694b181303f GIT binary patch literal 2806 zcmebCbaE_8&d4lFWn^Gr;9_84FkoO{Fk)a}2x4GhILpAmFq?saL5PikL5P8Y;RPoH zLqkJTV^ddCPh)d$V@qFC>xACsxsA>98k^@gwk_yvU)j{LdRp_r#?C|i%@-THE;Tn_ zZS20*+I+jQ`A%cc-KOUIjlB;Vn;$kdKWc1#+}Ql2vHfXt-;0*!H;w&oo0~s0PWaf? z^u4k9N8^N_Z4>@?PT*+loG94XI8msvaiVZz<3y3h#)+bhjT6Nh8z+i4HcpgiY;2co zY@8s~*f`lQ*fFOhwJ0yKB-J@TuOv0Eq`1Q`I5@wwC^@yuFIcZQvnsVLF{i^XSTCuv zB(=E9FBqn-(=RwY#4RT=9V8fBnpBpVT3$R8B43oB6JC^Al9`w8l3A3RT#}ie*X|eW zlbDp6v&=6zEHkw{JTb4N*eSKRBq+5wKc^I=!oMIj&)p}uv?whxId!6^lV7lNPG&)I zNWN2kXN@lW4YEEM1Y`9gS#i_-?nR)3ssXm!`slNFssr`Pz;hA|U z`Q=WD$=R8C>C^p!9g~w&i;FXpGIKIZD*ZE4ioH`Si>HBX@ky-AFD>y+EK1MJD|Ro< zOi7&%H##^qFU1k;e&596>^{F>kaIzS+sULwdd-5}Q| z78irmO@z57xTG>C6=YDaU$9?hQb>Mja)wi4(R`3Af-@3R^2<|Gf-7^A@^hT?^U^ZY zON+o}_4@@omR2~GmXze@g;W-ReCMB(m6}{q9F~|I9@D>6x3D4hm&RT!w(W1`4_SqTIwBuw0v8a8Q1J2`I2( z9_jZB_D-#IEiBC}OUy~lE9rp+4k*=4hC2w9iZk;{^Gl28`UQs;rxtCC#_yw1NL#r2NhjUJ1aq&Em4|4L$i+%Fb zGm{f@An6O95xV_?-HH-(Q$e2X@e2-4E=o zWhS}iCFiH47P;mYlvH}BR(ARYyXJw+NP!15$S(-TfU=}hQEFngZ+=Q@JJj#9Je^!p zi!;;nz+s7!*e8I>hvLknoK#4x7k7fwSV4YKNrzu>8Z5k_fdq=wHoss{Q1to*LvsZv zWum8gM1JT7S&&)|jw)~wSCE>VnV8e->7GTWs zO{@S3oaF-51oIgfS8_2iFfbh9Vqsuln8YQ`z`$^lOM!ubVJ4R{0|UbXE)`Jaz@^H- zz%YkPkAZ=qk4v9{f#DRGoWjM-z`)SV(dS>D6Ht_zmRgjWmz-L>i*+9tD+2?=R0jTD z2BrgCYzzzxtxOCI6$;C_*cliYW^r!f;$UE4IL*0^a}5_K0|UcWE=dLkhKpQM3=9mr zS(`a#R972Xn&~JQnHbdSC{&wR80aV%nH$vBHgoj*m**%TS=P+a0ZSe0Ij3=MWMp7$ z;{w%iTeu_`7#KQP_i*-eb}=x39L3GRz_1={AxI$);~_2{1_p+OU=g^&{j5v4co`TN zHnS{cVA#&Uu$E;pOApIV28M$S4DHPSpUDQ z)~*7DOAAQpT(B7}Tzm`+3`e>685kIjbAg<3j!7ZV#$z4>(+Vy@1_p*@Tw)9i3=Lf3 z3=9mb!DKh%35G=sk~82oHgoKPcw3=3wWut$NVhmMB~>9MH8~$r;1(;Sk4uh$ zfuRwcS|@{pu!BpMfq`KgXER5C0XXpm2fILOgGR9YWU$%}E_tvM`$`hCQy~Eu9PDBR zGFB06EGVV!11EufU~T)jK(RlCO9`y4*Dn|pMw!XrG7Y2)lwJ0LjfSLhWW5M^d}ibug&`CN;sN7MRoqlR98hmw|y{2Lt;K296yJoI4n}b}(@7VBp!oz`KKi zZx`z>*3Jf4dBV`&;1}%a1Swox5=#=n0?wtyCHc7!K?acG;F6-uymW@%2ESn6(h^XS z7@S(dFtGuar9x733vv=mQW@GCASDpk7^qUmqN2n~urZKe2O9%nf~sh+9#EPBn+LHP z))Hap0GS7B2rx`(fE8Qdauw2yW0=|iZf*FNmgJ