mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-23 15:33:13 +00:00
Merge pull request #309031 from Aleksanaa/apostrophe
apostrophe: 2.6.3 -> 3.0
This commit is contained in:
commit
51a38149cf
@ -1,59 +0,0 @@
|
||||
{ lib, stdenv, fetchFromGitLab, meson, ninja
|
||||
, wrapGAppsHook3, pkg-config, desktop-file-utils
|
||||
, appstream-glib, pythonPackages, glib, gobject-introspection
|
||||
, gtk3, webkitgtk, glib-networking, gnome, gspell, texliveMedium
|
||||
, shared-mime-info, libhandy, fira, sassc
|
||||
}:
|
||||
|
||||
let
|
||||
pythonEnv = pythonPackages.python.withPackages(p: with p; [
|
||||
regex setuptools levenshtein pyenchant
|
||||
pygobject3 pycairo pypandoc chardet
|
||||
]);
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "apostrophe";
|
||||
version = "2.6.3";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "World";
|
||||
repo = pname;
|
||||
domain = "gitlab.gnome.org";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-RBrrG1TO810LidIelYGNaK7PjDq84D0cA8VcMojAW3M=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ meson ninja pkg-config desktop-file-utils
|
||||
appstream-glib wrapGAppsHook3 sassc gobject-introspection ];
|
||||
|
||||
buildInputs = [ glib pythonEnv gtk3
|
||||
gnome.adwaita-icon-theme webkitgtk gspell texliveMedium
|
||||
glib-networking libhandy ];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace data/media/css/web/base.css \
|
||||
--replace 'url("/app/share/fonts/FiraSans-Regular.ttf") format("ttf")' \
|
||||
'url("${fira}/share/fonts/opentype/FiraSans-Regular.otf") format("otf")' \
|
||||
--replace 'url("/app/share/fonts/FiraMono-Regular.ttf") format("ttf")' \
|
||||
'url("${fira}/share/fonts/opentype/FiraMono-Regular.otf") format("otf")'
|
||||
|
||||
patchShebangs --build build-aux/meson_post_install.py
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
gappsWrapperArgs+=(
|
||||
--prefix PYTHONPATH : "$out/lib/python${pythonEnv.pythonVersion}/site-packages/"
|
||||
--prefix PATH : "${texliveMedium}/bin"
|
||||
--prefix XDG_DATA_DIRS : "${shared-mime-info}/share"
|
||||
)
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://gitlab.gnome.org/World/apostrophe";
|
||||
description = "A distraction free Markdown editor for GNU/Linux";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.sternenseemann ];
|
||||
mainProgram = "apostrophe";
|
||||
};
|
||||
}
|
118
pkgs/by-name/ap/apostrophe/package.nix
Normal file
118
pkgs/by-name/ap/apostrophe/package.nix
Normal file
@ -0,0 +1,118 @@
|
||||
{
|
||||
lib,
|
||||
fetchFromGitLab,
|
||||
gtksourceview5,
|
||||
libspelling,
|
||||
fetchFromGitHub,
|
||||
python3Packages,
|
||||
meson,
|
||||
ninja,
|
||||
pkg-config,
|
||||
wrapGAppsHook4,
|
||||
desktop-file-utils,
|
||||
gobject-introspection,
|
||||
libadwaita,
|
||||
webkitgtk_6_0,
|
||||
texliveMedium,
|
||||
shared-mime-info,
|
||||
}:
|
||||
|
||||
let
|
||||
version = "3.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "World";
|
||||
repo = "apostrophe";
|
||||
domain = "gitlab.gnome.org";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-wKxRCU00nSk7F8IZNWoLRtGs3m6ol3UBnArtppUOz/g=";
|
||||
};
|
||||
|
||||
# Patches are required by upstream. Without the patches
|
||||
# typing `- aaa`, newline, `- bbb` the program crashes
|
||||
gtksourceview5-patched = gtksourceview5.overrideAttrs (prev: {
|
||||
patches = (prev.patches or [ ]) ++ [ "${src}/build-aux/flatpak/sourceview_text_commits.patch" ];
|
||||
});
|
||||
|
||||
libspelling-patched =
|
||||
(libspelling.override { gtksourceview5 = gtksourceview5-patched; }).overrideAttrs
|
||||
(prev: {
|
||||
patches = (prev.patches or [ ]) ++ [ "${src}/build-aux/flatpak/libspelling_text_commits.patch" ];
|
||||
});
|
||||
|
||||
reveal-js = fetchFromGitHub {
|
||||
owner = "hakimel";
|
||||
repo = "reveal.js";
|
||||
|
||||
# keep in sync with upstream shipped version
|
||||
# in build-aux/flatpak/org.gnome.gitlab.somas.Apostrophe.json
|
||||
rev = "4.6.0";
|
||||
hash = "sha256-a+J+GasFmRvu5cJ1GLXscoJ+owzFXsLhCbeDbYChkyQ=";
|
||||
};
|
||||
in
|
||||
python3Packages.buildPythonApplication rec {
|
||||
inherit version src;
|
||||
pname = "apostrophe";
|
||||
pyproject = false;
|
||||
|
||||
postPatch =
|
||||
''
|
||||
substituteInPlace build-aux/meson_post_install.py \
|
||||
--replace-fail 'gtk-update-icon-cache' 'gtk4-update-icon-cache'
|
||||
|
||||
patchShebangs --build build-aux/meson_post_install.py
|
||||
''
|
||||
# Should be done in postInstall, but meson checks this eagerly before build
|
||||
+ ''
|
||||
install -d $out/share/apostrophe/libs
|
||||
cp -r ${reveal-js} $out/share/apostrophe/libs/reveal.js
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
wrapGAppsHook4
|
||||
desktop-file-utils
|
||||
gobject-introspection
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
libadwaita
|
||||
gtksourceview5-patched
|
||||
libspelling-patched
|
||||
webkitgtk_6_0
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
pygobject3
|
||||
pypandoc
|
||||
chardet
|
||||
];
|
||||
|
||||
dontWrapGApps = true;
|
||||
|
||||
preFixup = ''
|
||||
makeWrapperArgs+=(
|
||||
''${gappsWrapperArgs[@]}
|
||||
--prefix PATH : "${texliveMedium}/bin"
|
||||
--prefix XDG_DATA_DIRS : "${shared-mime-info}/share"
|
||||
)
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
inherit gtksourceview5-patched libspelling-patched reveal-js;
|
||||
};
|
||||
|
||||
meta = {
|
||||
homepage = "https://gitlab.gnome.org/World/apostrophe";
|
||||
description = "A distraction free Markdown editor for GNU/Linux";
|
||||
license = lib.licenses.gpl3Plus;
|
||||
platforms = lib.platforms.linux;
|
||||
maintainers = with lib.maintainers; [
|
||||
sternenseemann
|
||||
aleksana
|
||||
];
|
||||
mainProgram = "apostrophe";
|
||||
};
|
||||
}
|
@ -29712,10 +29712,6 @@ with pkgs;
|
||||
|
||||
appgate-sdp = callPackage ../applications/networking/appgate-sdp { };
|
||||
|
||||
apostrophe = callPackage ../applications/editors/apostrophe {
|
||||
pythonPackages = python3Packages;
|
||||
};
|
||||
|
||||
ardour = callPackage ../applications/audio/ardour { };
|
||||
ardour_7 = callPackage ../applications/audio/ardour/7.nix { };
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user