diff options
author | Anderson Torres <torres.anderson.85@protonmail.com> | 2023-11-26 20:17:31 -0300 |
---|---|---|
committer | Anderson Torres <torres.anderson.85@protonmail.com> | 2023-12-05 23:04:46 -0300 |
commit | 47e076a86f6000caf49bd305a51bc805cad8d0e0 (patch) | |
tree | c9cc096cb95b80a9f8c70dd8376c36016512235f /pkgs/desktops | |
parent | 2bea1bc0f98bb316e26d1a5a17df58fce54ca8c4 (diff) |
arcan: migrate to by-name
Diffstat (limited to 'pkgs/desktops')
-rw-r--r-- | pkgs/desktops/arcan/arcan/default.nix | 213 | ||||
-rw-r--r-- | pkgs/desktops/arcan/wrapper.nix | 29 |
2 files changed, 0 insertions, 242 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/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 |