pinta: add translations, use msbuild to install files
This commit is contained in:
parent
1ed395aaaf
commit
78abd4df66
1 changed files with 33 additions and 28 deletions
|
@ -2,10 +2,9 @@
|
|||
, buildDotnetModule
|
||||
, dotnetCorePackages
|
||||
, fetchFromGitHub
|
||||
, glibcLocales
|
||||
, gtk3
|
||||
, installShellFiles
|
||||
, librsvg
|
||||
, makeDesktopItem
|
||||
, intltool
|
||||
, wrapGAppsHook
|
||||
}:
|
||||
|
||||
|
@ -14,7 +13,7 @@ buildDotnetModule rec {
|
|||
version = "2.0.2";
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
intltool
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
|
@ -27,7 +26,7 @@ buildDotnetModule rec {
|
|||
# How-to update deps:
|
||||
# $ nix-build -A pinta.fetch-deps
|
||||
# $ ./result
|
||||
# $ cp /tmp/Pinta-deps.nix ./pkgs/applications/graphics/pinta/default.nix
|
||||
# $ cp /tmp/Pinta-deps.nix ./pkgs/applications/graphics/pinta/deps.nix
|
||||
# TODO: create update script
|
||||
nugetDeps = ./deps.nix;
|
||||
|
||||
|
@ -40,32 +39,38 @@ buildDotnetModule rec {
|
|||
sha256 = "sha256-Bvzs1beq7I1+10w9pmMePqGCz2TPDp5UK5Wa9hbKERU=";
|
||||
};
|
||||
|
||||
# https://github.com/NixOS/nixpkgs/issues/38991
|
||||
# bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
|
||||
LOCALE_ARCHIVE = "${glibcLocales}/lib/locale/locale-archive";
|
||||
|
||||
# Do the autoreconf/Makefile job manually
|
||||
# TODO: use upstream build system
|
||||
postBuild = ''
|
||||
# Substitute translation placeholders
|
||||
intltool-merge -x po/ xdg/pinta.appdata.xml.in xdg/pinta.appdata.xml
|
||||
intltool-merge -d po/ xdg/pinta.desktop.in xdg/pinta.desktop
|
||||
|
||||
# Build translations
|
||||
dotnet build Pinta \
|
||||
-p:ContinuousIntegrationBuild=true \
|
||||
-p:Deterministic=true \
|
||||
-target:CompileTranslations,PublishTranslations \
|
||||
-p:BuildTranslations=true \
|
||||
-p:PublishDir="$NIX_BUILD_TOP/source/publish"
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
# Rename the binary
|
||||
mv $out/bin/Pinta $out/bin/pinta
|
||||
mv "$out/bin/Pinta" "$out/bin/pinta"
|
||||
|
||||
# Copy desktop icons
|
||||
for size in 16x16 22x22 24x24 32x32 96x96 scalable; do
|
||||
mkdir -p $out/share/icons/hicolor/$size/apps
|
||||
cp xdg/$size/* $out/share/icons/hicolor/$size/apps/
|
||||
done
|
||||
|
||||
# Copy runtime icons
|
||||
cp -r Pinta.Resources/icons/hicolor/16x16/* $out/share/icons/hicolor/16x16/
|
||||
|
||||
# Install manpage
|
||||
installManPage xdg/pinta.1
|
||||
|
||||
# Fix and copy desktop file
|
||||
# TODO: fix this propely by using the autoreconf+pkg-config build system
|
||||
# from upstream
|
||||
mkdir -p $out/share/applications
|
||||
substitute xdg/pinta.desktop.in $out/share/applications/Pinta.desktop \
|
||||
--replace _Name Name \
|
||||
--replace _Comment Comment \
|
||||
--replace _GenericName GenericName \
|
||||
--replace _X-GNOME-FullName X-GNOME-FullName \
|
||||
--replace _Keywords Keywords
|
||||
# Install
|
||||
dotnet build installer/linux/install.proj \
|
||||
-target:Install \
|
||||
-p:ContinuousIntegrationBuild=true \
|
||||
-p:Deterministic=true \
|
||||
-p:SourceDir="$NIX_BUILD_TOP/source" \
|
||||
-p:PublishDir="$NIX_BUILD_TOP/source/publish" \
|
||||
-p:InstallPrefix="$out"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
|
|
Loading…
Reference in a new issue