diff options
author | Peder Bergebakken Sundt <pbsds@hotmail.com> | 2023-12-06 23:58:55 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-06 23:58:55 +0100 |
commit | 37eb75ecc29fcdbe94b7480a024e5619abb0f06b (patch) | |
tree | 548b38321194d220d98be4175425e9548b2f1196 /pkgs/desktops | |
parent | 6be62203abd573b77472606e4848d29e2f1dd961 (diff) | |
parent | e9654b3ea39a9d170da0e0739119f6d39a07720c (diff) |
Merge pull request #270301 from atorres1985-contrib/arcan
Arcan updates
Diffstat (limited to 'pkgs/desktops')
-rw-r--r-- | pkgs/desktops/arcan/arcan/default.nix | 213 | ||||
-rw-r--r-- | pkgs/desktops/arcan/cat9/default.nix | 37 | ||||
-rw-r--r-- | pkgs/desktops/arcan/default.nix | 49 | ||||
-rw-r--r-- | pkgs/desktops/arcan/durden/default.nix | 43 | ||||
-rw-r--r-- | pkgs/desktops/arcan/pipeworld/default.nix | 50 | ||||
-rw-r--r-- | pkgs/desktops/arcan/prio/default.nix | 37 | ||||
-rw-r--r-- | pkgs/desktops/arcan/wrapper.nix | 29 | ||||
-rw-r--r-- | pkgs/desktops/arcan/xarcan/default.nix | 119 |
8 files changed, 0 insertions, 577 deletions
diff --git a/pkgs/desktops/arcan/arcan/default.nix b/pkgs/desktops/arcan/arcan/default.nix deleted file mode 100644 index 1a46c693b0278..0000000000000 --- a/pkgs/desktops/arcan/arcan/default.nix +++ /dev/null @@ -1,213 +0,0 @@ -{ lib -, stdenv -, fetchFromGitHub -, SDL2 -, cmake -, espeak -, ffmpeg -, file -, freetype -, glib -, gumbo -, harfbuzz -, jbig2dec -, leptonica -, libGL -, libX11 -, libXau -, libXcomposite -, libXdmcp -, libXfixes -, libdrm -, libffi -, libjpeg -, libusb1 -, libuvc -, libvlc -, libvncserver -, libxcb -, libxkbcommon -, makeWrapper -, mesa -, mupdf -, openal -, openjpeg -, pcre2 -, pkg-config -, ruby -, sqlite -, tesseract -, valgrind -, wayland -, wayland-protocols -, xcbutil -, xcbutilwm -, xz -, buildManPages ? true -, useBuiltinLua ? true -, useEspeak ? !stdenv.isDarwin -, useStaticLibuvc ? true -, useStaticOpenAL ? true -, useStaticSqlite ? true -, useTracy ? true -}: - -let - allSources = { - letoram-arcan-src = fetchFromGitHub { - owner = "letoram"; - repo = "arcan"; - rev = "85c8564bdbee8468a5716bea64daf1d78937ffbf"; - hash = "sha256-etmj1vpZTjxbmr4UiLBEK57WFJ1NeEnY5WfBYajX3ls="; - }; - letoram-openal-src = fetchFromGitHub { - owner = "letoram"; - repo = "openal"; - rev = "81e1b364339b6aa2b183f39fc16c55eb5857e97a"; - hash = "sha256-X3C3TDZPiOhdZdpApC4h4KeBiWFMxkFsmE3gQ1Rz420="; - }; - libuvc-src = fetchFromGitHub { - owner = "libuvc"; - repo = "libuvc"; - rev = "68d07a00e11d1944e27b7295ee69673239c00b4b"; - hash = "sha256-IdV18mnPTDBODpS1BXl4ulkFyf1PU2ZmuVGNOIdQwzE="; - }; - luajit-src = fetchFromGitHub { - owner = "LuaJIT"; - repo = "LuaJIT"; - rev = "656ecbcf8f669feb94e0d0ec4b4f59190bcd2e48"; - hash = "sha256-/gGQzHgYuWGqGjgpEl18Rbh3Sx2VP+zLlx4N9/hbYLc="; - }; - tracy-src = fetchFromGitHub { - owner = "wolfpld"; - repo = "tracy"; - rev = "93537dff336e0796b01262e8271e4d63bf39f195"; - hash = "sha256-FNB2zTbwk8hMNmhofz9GMts7dvH9phBRVIdgVjRcyQM="; - }; - }; -in -stdenv.mkDerivation (finalAttrs: { - pname = "arcan"; - version = "0.6.2.1-unstable-2023-10-14"; - - src = allSources.letoram-arcan-src; - - nativeBuildInputs = [ - cmake - makeWrapper - pkg-config - ] ++ lib.optionals buildManPages [ - ruby - ]; - - buildInputs = [ - SDL2 - ffmpeg - file - freetype - glib - gumbo - harfbuzz - jbig2dec - leptonica - libGL - libX11 - libXau - libXcomposite - libXdmcp - libXfixes - libdrm - libffi - libjpeg - libusb1 - libuvc - libvlc - libvncserver - libxcb - libxkbcommon - mesa - mupdf - openal - openjpeg - pcre2 - sqlite - tesseract - valgrind - wayland - wayland-protocols - xcbutil - xcbutilwm - xz - ] - ++ lib.optionals useEspeak [ - espeak - ]; - - # Emulate external/git/clone.sh - postUnpack = let - inherit (allSources) - letoram-openal-src libuvc-src luajit-src tracy-src; - prepareSource = flag: source: destination: - lib.optionalString flag '' - cp -va ${source}/ ${destination} - chmod --recursive 744 ${destination} - ''; - in - '' - pushd $sourceRoot/external/git/ - '' - + prepareSource useStaticOpenAL letoram-openal-src "openal" - + prepareSource useStaticLibuvc libuvc-src "libuvc" - + prepareSource useBuiltinLua luajit-src "luajit" - + prepareSource useTracy tracy-src "tracy" - + '' - popd - ''; - - postPatch = '' - substituteInPlace ./src/platform/posix/paths.c \ - --replace "/usr/bin" "$out/bin" \ - --replace "/usr/share" "$out/share" - substituteInPlace ./src/CMakeLists.txt \ - --replace "SETUID" "# SETUID" - ''; - - # INFO: Arcan build scripts require the manpages to be generated *before* the - # `configure` phase - preConfigure = lib.optionalString buildManPages '' - pushd doc - ruby docgen.rb mangen - popd - ''; - - cmakeFlags = [ - # The upstream project recommends tagging the distribution - (lib.cmakeFeature "DISTR_TAG" "Nixpkgs") - (lib.cmakeFeature "ENGINE_BUILDTAG" finalAttrs.src.rev) - (lib.cmakeFeature "BUILD_PRESET" "everything") - (lib.cmakeBool "BUILTIN_LUA" useBuiltinLua) - (lib.cmakeBool "DISABLE_JIT" useBuiltinLua) - (lib.cmakeBool "STATIC_LIBUVC" useStaticLibuvc) - (lib.cmakeBool "STATIC_SQLite3" useStaticSqlite) - (lib.cmakeBool "ENABLE_TRACY" useTracy) - "../src" - ]; - - hardeningDisable = [ - "format" - ]; - - meta = { - homepage = "https://arcan-fe.com/"; - description = "Combined Display Server, Multimedia Framework, Game Engine"; - longDescription = '' - Arcan is a portable and fast self-sufficient multimedia engine for - advanced visualization and analysis work in a wide range of applications - e.g. game development, real-time streaming video, monitoring and - surveillance, up to and including desktop compositors and window managers. - ''; - license = with lib.licenses; [ bsd3 gpl2Plus lgpl2Plus ]; - maintainers = with lib.maintainers; [ AndersonTorres ]; - platforms = lib.platforms.unix; - }; -}) diff --git a/pkgs/desktops/arcan/cat9/default.nix b/pkgs/desktops/arcan/cat9/default.nix deleted file mode 100644 index 7bc6005b0c650..0000000000000 --- a/pkgs/desktops/arcan/cat9/default.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -}: - -stdenvNoCC.mkDerivation (finalAttrs: { - pname = "cat9"; - version = "unstable-2023-06-25"; - - src = fetchFromGitHub { - owner = "letoram"; - repo = "cat9"; - rev = "4d8a0c539a5c756acada96fd80e7eb3b9554ac05"; - hash = "sha256-T3RPuldKTzHm0EdfdMOtHv9kcr9oE9YQgdzv/jjPPnc="; - }; - - dontConfigure = true; - - dontBuild = true; - - installPhase = '' - runHook preInstall - - mkdir -p ${placeholder "out"}/share/arcan/appl/cat9 - cp -a ./* ${placeholder "out"}/share/arcan/appl/cat9 - - runHook postInstall - ''; - - meta = with lib; { - homepage = "https://github.com/letoram/cat9"; - description = "A User shell for LASH"; - license = licenses.unlicense; - maintainers = with maintainers; [ AndersonTorres ]; - platforms = platforms.all; - }; -}) diff --git a/pkgs/desktops/arcan/default.nix b/pkgs/desktops/arcan/default.nix deleted file mode 100644 index 76cc6a2a4a03d..0000000000000 --- a/pkgs/desktops/arcan/default.nix +++ /dev/null @@ -1,49 +0,0 @@ -{ config, lib, pkgs }: - -lib.makeScope pkgs.newScope (self: with self; { - # Dependencies - - espeak = pkgs.espeak-ng; - ffmpeg = pkgs.ffmpeg-full; - harfbuzz = pkgs.harfbuzzFull; - - # Arcan - - arcan = callPackage ./arcan { }; - arcan-wrapped = callPackage ./wrapper.nix { }; - xarcan = callPackage ./xarcan { }; - - # Appls - - cat9 = callPackage ./cat9 { }; - cat9-wrapped = callPackage ./wrapper.nix { - name = "cat9-wrapped"; - appls = [ cat9 ]; - }; - - durden = callPackage ./durden { }; - durden-wrapped = callPackage ./wrapper.nix { - name = "durden-wrapped"; - appls = [ durden ]; - }; - - pipeworld = callPackage ./pipeworld { }; - pipeworld-wrapped = callPackage ./wrapper.nix { - name = "pipeworld-wrapped"; - appls = [ pipeworld ]; - }; - - # Warning: prio is deprecated; however it works and is useful for testing - prio = callPackage ./prio { }; - prio-wrapped = callPackage ./wrapper.nix { - name = "prio-wrapped"; - appls = [ prio ]; - }; - - # One Expression to SymlinkJoin Them All - - all-wrapped = callPackage ./wrapper.nix { - name = "all-wrapped"; - appls = [ durden cat9 pipeworld ]; - }; -}) diff --git a/pkgs/desktops/arcan/durden/default.nix b/pkgs/desktops/arcan/durden/default.nix deleted file mode 100644 index f6677b9823ffb..0000000000000 --- a/pkgs/desktops/arcan/durden/default.nix +++ /dev/null @@ -1,43 +0,0 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -}: - -stdenvNoCC.mkDerivation (finalAttrs: { - pname = "durden"; - version = "unstable-2023-08-11"; - - src = fetchFromGitHub { - owner = "letoram"; - repo = "durden"; - rev = "728d7fc3292cc162b1cea505c8a71512b2e84925"; - hash = "sha256-UL36JeppnoFDdzdsJMsWKJL58ioz9eOaNEZp/7DGV9w="; - }; - - dontConfigure = true; - - dontBuild = true; - - installPhase = '' - runHook preInstall - - mkdir -p ${placeholder "out"}/share/arcan/appl/ - cp -a ./durden ${placeholder "out"}/share/arcan/appl/ - - runHook postInstall - ''; - - meta = with lib; { - homepage = "https://durden.arcan-fe.com/"; - description = "Reference Desktop Environment for Arcan"; - longDescription = '' - Durden is a desktop environment for the Arcan Display Server. It serves - both as a reference showcase on how to take advantage of some of the - features in Arcan, and as a very competent entry to the advanced-user side - of the desktop environment spectrum. - ''; - license = licenses.bsd3; - maintainers = with maintainers; [ AndersonTorres ]; - platforms = platforms.all; - }; -}) diff --git a/pkgs/desktops/arcan/pipeworld/default.nix b/pkgs/desktops/arcan/pipeworld/default.nix deleted file mode 100644 index 9474535133fdb..0000000000000 --- a/pkgs/desktops/arcan/pipeworld/default.nix +++ /dev/null @@ -1,50 +0,0 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -}: - -stdenvNoCC.mkDerivation (finalPackages: { - pname = "pipeworld"; - version = "unstable-2023-03-02"; - - src = fetchFromGitHub { - owner = "letoram"; - repo = "pipeworld"; - rev = "9ea79f72ad500fe78b9f46e680be87eaac3bfb0e"; - hash = "sha256-/cjse6XXrdLoUB35GLgl871qINOm4SvKPTbfoBceLu0="; - }; - - dontConfigure = true; - - dontBuild = true; - - installPhase = '' - runHook preInstall - - mkdir -p ${placeholder "out"}/share/arcan/appl/ - cp -a ./pipeworld ${placeholder "out"}/share/arcan/appl/ - - runHook postInstall - ''; - - meta = with lib; { - homepage = "https://github.com/letoram/pipeworld"; - description = "Dataflow 'spreadsheet' desktop environment"; - longDescription = '' - Pipeworld is a zooming dataflow tool and desktop heavily inspired by - userland. It is built using the arcan desktop engine. - - It combines the programmable processing of shell scripts and pipes, the - interactive visual addressing/programming model of spread sheets, the - scenegraph- and interactive controls-, IPC- and client processing- of - display servers into one model with zoomable tiling window management. - - It can be used as a standalone desktop of its own, or as a normal - application within another desktop as a 'substitute' for your normal - terminal emulator. - ''; - license = licenses.bsd3; - maintainers = with maintainers; [ AndersonTorres ]; - platforms = platforms.all; - }; -}) diff --git a/pkgs/desktops/arcan/prio/default.nix b/pkgs/desktops/arcan/prio/default.nix deleted file mode 100644 index f733b189757b3..0000000000000 --- a/pkgs/desktops/arcan/prio/default.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ lib -, stdenvNoCC -, fetchFromGitHub -}: - -stdenvNoCC.mkDerivation (finalAttrs: { - pname = "prio"; - version = "unstable-2018-09-13"; - - src = fetchFromGitHub { - owner = "letoram"; - repo = "prio"; - rev = "c3f97491339d15f063d6937d5f89bcfaea774dd1"; - hash = "sha256-Idv/duEYmDk/rO+TI8n+FY3VFDtUEh8C292jh12BJuM="; - }; - - dontConfigure = true; - - dontBuild = true; - - installPhase = '' - runHook preInstall - - mkdir -p ${placeholder "out"}/share/arcan/appl/prio - cp -a ./* ${placeholder "out"}/share/arcan/appl/prio - - runHook postInstall - ''; - - meta = with lib; { - homepage = "https://github.com/letoram/prio"; - description = "Plan9- Rio like Window Manager for Arcan"; - license = licenses.bsd3; - maintainers = with maintainers; [ AndersonTorres ]; - platforms = platforms.all; - }; -}) diff --git a/pkgs/desktops/arcan/wrapper.nix b/pkgs/desktops/arcan/wrapper.nix deleted file mode 100644 index b61c5a5becd87..0000000000000 --- a/pkgs/desktops/arcan/wrapper.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ arcan -, makeWrapper -, symlinkJoin -, appls ? [ ] -, name ? "arcan-wrapped" -}: - -symlinkJoin rec { - inherit name; - - paths = appls ++ [ arcan ]; - - nativeBuildInputs = [ makeWrapper ]; - - postBuild = '' - for prog in ${placeholder "out"}/bin/*; do - wrapProgram $prog \ - --prefix PATH ":" "${placeholder "out"}/bin" \ - --set ARCAN_APPLBASEPATH "${placeholder "out"}/share/arcan/appl/" \ - --set ARCAN_BINPATH "${placeholder "out"}/bin/arcan_frameserver" \ - --set ARCAN_LIBPATH "${placeholder "out"}/lib/" \ - --set ARCAN_RESOURCEPATH "${placeholder "out"}/share/arcan/resources/" \ - --set ARCAN_SCRIPTPATH "${placeholder "out"}/share/arcan/scripts/" - done - ''; -} -# TODO: set ARCAN_STATEBASEPATH to $HOME/.arcan/resources/savestates/ - possibly -# via a suitable script -# TODO: set ARCAN_FONTPATH to a set of default-but-configurable fontset diff --git a/pkgs/desktops/arcan/xarcan/default.nix b/pkgs/desktops/arcan/xarcan/default.nix deleted file mode 100644 index b979b64a06c5b..0000000000000 --- a/pkgs/desktops/arcan/xarcan/default.nix +++ /dev/null @@ -1,119 +0,0 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch -, arcan -, audit -, dbus -, libepoxy -, fontutil -, libGL -, libX11 -, libXau -, libXdmcp -, libXfont2 -, libdrm -, libgcrypt -, libmd -, libselinux -, libtirpc -, libxcb -, libxkbfile -, libxshmfence -, mesa -, meson -, nettle -, ninja -, openssl -, pixman -, pkg-config -, systemd -, xcbutil -, xcbutilwm -, xkbcomp -, xkeyboard_config -, xorgproto -, xtrans -}: - -stdenv.mkDerivation (finalPackages: { - pname = "xarcan"; - version = "unstable-2022-06-14"; - - src = fetchFromGitHub { - owner = "letoram"; - repo = "xarcan"; - rev = "02111f4925453c0c545e9193c6a5e22c0d4e98c3"; - hash = "sha256-rp2sNRbv0OZdfyqZfsv/v3TGQY5uyXWqbvlmUDd7iBk="; - }; - - nativeBuildInputs = [ - meson - ninja - pkg-config - ]; - - buildInputs = [ - arcan - audit - dbus - libepoxy - fontutil - libGL - libX11 - libXau - libXdmcp - libXfont2 - libdrm - libgcrypt - libmd - libselinux - libtirpc - libxcb - libxkbfile - libxshmfence - mesa - nettle - openssl - pixman - systemd - xcbutil - xcbutilwm - xkbcomp - xkeyboard_config - xorgproto - xtrans - ]; - - configureFlags = [ - "--disable-int10-module" - "--disable-static" - "--disable-xnest" - "--disable-xorg" - "--disable-xvfb" - "--disable-xwayland" - "--enable-glamor" - "--enable-glx" - "--enable-ipv6" - "--enable-kdrive" - "--enable-record" - "--enable-xarcan" - "--enable-xcsecurity" - "--with-xkb-bin-directory=${xkbcomp}/bin" - "--with-xkb-output=/tmp" - "--with-xkb-path=${xkeyboard_config}/share/X11/xkb" - ]; - - meta = with lib; { - homepage = "https://github.com/letoram/letoram"; - description = "Patched Xserver that bridges connections to Arcan"; - longDescription = '' - xarcan is a patched X server with a KDrive backend that uses the - arcan-shmif to map Xlib/Xcb/X clients to a running arcan instance. It - allows running an X session as a window under Arcan. - ''; - license = licenses.mit; - maintainers = with maintainers; [ AndersonTorres ]; - platforms = platforms.unix; - }; -}) |