Merge pull request #222877 from wegank/owl-compositor-init

owl-compositor: init at unstable-2021-11-10

authored by

Weijia Wang and committed by
GitHub
a33bfb8b 8dd1359b

+89
+87
pkgs/applications/window-managers/owl/default.nix
··· 1 + { lib 2 + , stdenv 3 + , fetchFromGitHub 4 + , gnustep 5 + , libxkbcommon 6 + , makeWrapper 7 + , wayland 8 + , wayland-scanner 9 + , darwin 10 + }: 11 + 12 + assert wayland.withLibraries; 13 + 14 + let 15 + mkDerivation = if stdenv.isDarwin then stdenv.mkDerivation else gnustep.gsmakeDerivation; 16 + in 17 + mkDerivation { 18 + pname = "owl"; 19 + version = "unstable-2021-11-10"; 20 + 21 + src = fetchFromGitHub { 22 + owner = "owl-compositor"; 23 + repo = "owl"; 24 + rev = "91abf02613cd2ddb97be58b5b6703240320233a0"; 25 + hash = "sha256-a+TznasOVEzSNrs66/y91AeMRDEfyd+WO5mO811hLj0="; 26 + }; 27 + 28 + # use pregenerated nib files because generating them requires Xcode 29 + postPatch = lib.optionalString stdenv.isDarwin '' 30 + sed -i "/ibtool/d" configure 31 + mkdir -p build/Owl.app/Contents/Resources/English.lproj 32 + cp ${./mac/MainMenu.nib} build/Owl.app/Contents/Resources/English.lproj/MainMenu.nib 33 + cp ${./mac/OwlPreferences.nib} build/Owl.app/Contents/Resources/English.lproj/OwlPreferences.nib 34 + ''; 35 + 36 + strictDeps = true; 37 + 38 + nativeBuildInputs = [ 39 + makeWrapper 40 + wayland-scanner 41 + ] ++ lib.optionals stdenv.isDarwin [ 42 + darwin.DarwinTools 43 + darwin.bootstrap_cmds 44 + ] ++ lib.optionals (!stdenv.isDarwin) [ 45 + gnustep.make 46 + ]; 47 + 48 + buildInputs = [ 49 + libxkbcommon 50 + wayland 51 + ] ++ lib.optionals stdenv.isDarwin [ 52 + darwin.apple_sdk.frameworks.Cocoa 53 + ] ++ lib.optionals (!stdenv.isDarwin) [ 54 + gnustep.back 55 + gnustep.base 56 + gnustep.gui 57 + ]; 58 + 59 + preConfigure = '' 60 + mkdir -p build 61 + cd build 62 + ''; 63 + 64 + configureScript = "../configure"; 65 + 66 + # error: "Your gnustep-base was configured for the objc-nonfragile-abi but you are not using it now." 67 + env.NIX_CFLAGS_COMPILE = lib.optionalString (!stdenv.isDarwin) "-fobjc-runtime=gnustep-2.0"; 68 + 69 + installPhase = '' 70 + runHook preInstall 71 + 72 + mkdir -p $out/{Applications,bin} 73 + mv Owl.app $out/Applications 74 + makeWrapper $out/{Applications/Owl.app${lib.optionalString stdenv.isDarwin "/Contents/MacOS"},bin}/Owl 75 + 76 + runHook postInstall 77 + ''; 78 + 79 + meta = with lib; { 80 + description = "A portable Wayland compositor in Objective-C"; 81 + homepage = "https://github.com/owl-compositor/owl"; 82 + license = licenses.gpl3Plus; 83 + maintainers = with maintainers; [ wegank ]; 84 + platforms = platforms.unix; 85 + mainProgram = "Owl"; 86 + }; 87 + }
pkgs/applications/window-managers/owl/mac/MainMenu.nib

This is a binary file and will not be displayed.

pkgs/applications/window-managers/owl/mac/OwlPreferences.nib

This is a binary file and will not be displayed.

+2
pkgs/top-level/all-packages.nix
··· 30917 30917 30918 30918 offpunk = callPackage ../applications/networking/browsers/offpunk { }; 30919 30919 30920 + owl-compositor = callPackage ../applications/window-managers/owl { }; 30921 + 30920 30922 p2pool = callPackage ../applications/misc/p2pool { }; 30921 30923 30922 30924 pass2csv = python3Packages.callPackage ../tools/security/pass2csv { };