diff options
Diffstat (limited to 'pkgs/by-name/pr/pragtical/package.nix')
-rw-r--r-- | pkgs/by-name/pr/pragtical/package.nix | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/pkgs/by-name/pr/pragtical/package.nix b/pkgs/by-name/pr/pragtical/package.nix new file mode 100644 index 0000000000000..513227e5637c2 --- /dev/null +++ b/pkgs/by-name/pr/pragtical/package.nix @@ -0,0 +1,86 @@ +{ + lib, + stdenv, + fetchFromGitHub, + cacert, + meson, + ninja, + pkg-config, + freetype, + libgit2, + libuchardet, + libzip, + lua5_4, + luajit, + mbedtls_2, + pcre2, + SDL2, + zlib, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "pragtical"; + version = "3.3.1"; + pluginManagerVersion = "1.2.9"; + + src = fetchFromGitHub { + owner = "pragtical"; + repo = "pragtical"; + rev = "v${finalAttrs.version}"; + fetchSubmodules = true; + + # also fetch required git submodules + postFetch = '' + cd "$out" + + export NIX_SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt + + substituteInPlace subprojects/ppm.wrap \ + --replace-fail 'revision = head' 'revision = v${finalAttrs.pluginManagerVersion}' + + ${lib.getExe meson} subprojects download \ + colors plugins ppm + + find subprojects -type d -name .git -prune -execdir rm -r {} + + ''; + + hash = "sha256-T0IHpfMfx4P84RyBLtaYNead6a7cID2cUYwkyNnYMgc="; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + ]; + + buildInputs = [ + freetype + libgit2 + libuchardet + libzip + lua5_4 + luajit + mbedtls_2 + pcre2 + SDL2 + zlib + ]; + + # workaround for `libmbedx509.so.1, libmbedcrypto.so.7: error adding symbols: DSO missing from command line` + env.NIX_LDFLAGS = "-lmbedx509 -lmbedcrypto"; + + mesonFlags = [ "-Duse_system_lua=true" ]; + + meta = { + changelog = "https://github.com/pragtical/pragtical/blob/${finalAttrs.src.rev}/changelog.md"; + description = "Practical and pragmatic code editor"; + homepage = "https://pragtical.dev"; + license = lib.licenses.mit; + mainProgram = "pragtical"; + maintainers = with lib.maintainers; [ + suhr + tomasajt + ]; + platforms = lib.platforms.linux; + }; +}) |