From 766050093312f5839b545915bde8a69945b64808 Mon Sep 17 00:00:00 2001 From: Ionite Date: Mon, 10 Jul 2023 17:33:42 -0400 Subject: [PATCH] Add build config for linux --- StabilityMatrix.Avalonia.pupnet.conf | 301 ++++++++++++++++++ .../Assets/Icon.512x512.png | Bin 0 -> 26152 bytes 2 files changed, 301 insertions(+) create mode 100644 StabilityMatrix.Avalonia.pupnet.conf create mode 100644 StabilityMatrix.Avalonia/Assets/Icon.512x512.png diff --git a/StabilityMatrix.Avalonia.pupnet.conf b/StabilityMatrix.Avalonia.pupnet.conf new file mode 100644 index 00000000..1350c670 --- /dev/null +++ b/StabilityMatrix.Avalonia.pupnet.conf @@ -0,0 +1,301 @@ +################################################################################ +# PUPNET DEPLOY: 1.4.0 +################################################################################ + +######################################## +# APP PREAMBLE +######################################## + +# Mandatory application base name. This MUST BE the base name of the main executable file. It should NOT +# include any directory part or extension, i.e. do not append '.exe' or '.dll'. It should not contain +# spaces or invalid filename characters. +AppBaseName = StabilityMatrix.Avalonia + +# Mandatory application friendly name. +AppFriendlyName = Stability Matrix + +# Mandatory application ID in reverse DNS form. This should stay constant for lifetime of the software. +AppId = zone.lykos.stabilitymatrix + +# Mandatory application version and package release of form: 'VERSION[RELEASE]'. Use optional square +# brackets to denote package release, i.e. '1.2.3[1]'. Release refers to a change to the deployment +# package, rather the application. If release part is absent (i.e. '1.2.3'), the release value defaults +# to '1'. Note that the version-release value given here may be overridden from the command line. +AppVersionRelease = 2.0.0[1] + +# Mandatory single line application short summary description. +AppShortSummary = Package and checkpoint manager for Stable Diffusion. + +# Optional multi-line (surround with triple """ quotes) application description which may provide +# longer text than AppShortSummary. Text separated by an empty line will be treated as paragraphs +# (complex formatting should be avoided). The content is used by package builders where supported, +# including RPM and DEB, and may optionally be used to populate the '' element in the +# AppStream metadata through the use of a macro variable. +AppDescription = """ + Hello World demonstrates all the major features of building distributable packages with PupNet. + It can be built for all package kinds, including AppImage, Flatpak, DEB and RPM formats on Linux, + and as a Setup file on Windows. It provides an example of using desktop and AppStream metadata files, + as well as icons and post-publish scripts. + + On execution, the Hello World program displays command arguments and assembly information. The assembly + version confirms that version information, provided in the deployment configuration, was successfully passed + through the build system, to the application. +""" + +# Mandatory application license ID. This should be one of the recognised SPDX license +# identifiers, such as: 'MIT', 'GPL-3.0-or-later' or 'Apache-2.0'. For a proprietary or +# custom license, use 'LicenseRef-Proprietary' or 'LicenseRef-LICENSE'. +AppLicenseId = LicenseRef-Proprietary + +# Optional path to application copyright/license text file. If provided, it will be packaged with the +# application and used with package builders where supported. +AppLicenseFile = LICENSE + +# Optional path to application changelog file. IMPORTANT. If given, this file should contain version +# information in a predefined format. Namely, it should contain one or more version headings of form: +# '+ VERSION;DATE', under which are to be listed change items of form: '- Change description'. Formatted +# information will be parsed and used to populate AppStream metadata. Additionally, it will be packaged +# with the application and used with package builders where supported. NOTE. Superfluous text in the file +# is ignored, so the file may also contain README information. +# For information: https://github.com/kuiperzone/PupNet-Deploy. +AppChangeFile = + +######################################## +# PUBLISHER +######################################## + +# Mandatory publisher, group or creator. +PublisherName = Lykos + +# Optional copyright statement. +PublisherCopyright = Copyright (C) Lykos 2023 + +# Optional publisher or application web-link name. Note that Windows Setup packages +# require both PublisherLinkName and PublisherLinkUrl in order to include the link as +# an item in program menu entries. Do not modify name, as may leave old entries in updated installations. +PublisherLinkName = Home Page + +# Optional publisher or application web-link URL. +PublisherLinkUrl = https://lykos.ai + +# Publisher or maintainer email contact. Although optional, some package builders (i.e. DEB) require it +# and may warn or fail unless provided. +PublisherEmail = stability-matrix@lykos.ai + +######################################## +# DESKTOP INTEGRATION +######################################## + +# Boolean (true or false) which indicates whether the application is hidden on the desktop. It is used to +# populate the 'NoDisplay' field of the .desktop file. The default is false. Setting to true will also +# cause the main application start menu entry to be omitted for Windows Setup. +DesktopNoDisplay = false + +# Boolean (true or false) which indicates whether the application runs in the terminal, rather than +# providing a GUI. It is used to populate the 'Terminal' field of the .desktop file. +DesktopTerminal = false + +# Optional path to a Linux desktop file. If empty (default), one will be generated automatically from +# the information in this file. Supplying a custom file, however, allows for mime-types and +# internationalisation. If supplied, the file MUST contain the line: 'Exec=${INSTALL_EXEC}' +# in order to use the correct install location. Other macros may be used to help automate the content. +# Note. PupNet Deploy can generate you a desktop file. Use --help and 'pupnet --help macro' for reference. +# See: https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html +DesktopFile = + +# Optional command name to start the application from the terminal. If, for example, AppBaseName is +# 'Zone.Kuiper.HelloWorld', the value here may be set to a simpler and/or lower-case variant such as +# 'helloworld'. It must not contain spaces or invalid filename characters. Do not add any extension such +# as '.exe'. If empty, the application will not be in the path and cannot be started from the command line. +# For Windows Setup packages, see also SetupCommandPrompt. StartCommand is not +# supported for all packages kinds (i.e. Flatpak). Default is empty (none). +StartCommand = stabilitymatrix + +# Optional category for the application. The value should be one of the recognised Freedesktop top-level +# categories, such as: Audio, Development, Game, Office, Utility etc. Only a single value should be +# provided here which will be used, where supported, to populate metadata. The default is empty. +# See: https://specifications.freedesktop.org/menu-spec/latest/apa.html +PrimeCategory = Utility + +# Path to AppStream metadata file. It is optional, but recommended as it is used by software centers. +# Note. The contents of the files may use macro variables. Use 'pupnet --help macro' for reference. +# See: https://docs.appimage.org/packaging-guide/optional/appstream.html +MetaFile = + +# Optional icon file paths. The value may include multiple filenames separated with semicolon or given +# in multi-line form. Valid types are SVG, PNG and ICO (ICO ignored on Linux). Note that the inclusion +# of a scalable SVG is preferable on Linux, whereas PNGs must be one of the standard sizes and MUST +# include the size in the filename in the form: name.32x32.png' or 'name.32.png'. +IconFiles = """ + StabilityMatrix.Avalonia/Assets/Icon.512x512.png + StabilityMatrix.Avalonia/Assets/Icon.ico +""" + +######################################## +# DOTNET PUBLISH +######################################## + +# Optional path relative to this file in which to find the dotnet project (.csproj) or solution (.sln) +# file, or the directory containing it. If empty (default), a single project or solution file is +# expected under the same directory as this file. IMPORTANT. If set to 'NONE', dotnet publish +# is disabled (not called). Instead, only DotnetPostPublish is called. +DotnetProjectPath = StabilityMatrix.Avalonia/StabilityMatrix.Avalonia.csproj + +# Optional arguments supplied to 'dotnet publish'. Do NOT include '-r' (runtime), or '-c' (configuration) +# here as they will be added according to command line arguments. Typically you want as a minimum: +# '-p:Version=${APP_VERSION} --self-contained true'. Additional useful arguments include: +# '-p:DebugType=None -p:DebugSymbols=false -p:PublishSingleFile=true -p:PublishReadyToRun=true +# -p:PublishTrimmed=true -p:TrimMode=link'. Note. This value may use macro variables. Use 'pupnet --help macro' +# for reference. See: https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-publish +DotnetPublishArgs = -p:Version=${APP_VERSION} --self-contained true -p:DebugType=None -p:DebugSymbols=false + +# Post-publish (or standalone build) command on Linux (ignored on Windows). It is called after dotnet +# publish, but before the final output is built. This could, for example, be a script which copies +# additional files into the build directory given by ${BUILD_APP_BIN}. The working directory will be +# the location of this file. This value is optional, but becomes mandatory if DotnetProjectPath equals +# 'NONE'. Note. This value may use macro variables. Additionally, scripts may use these as environment +# variables. Use 'pupnet --help macro' for reference. +DotnetPostPublish = + +# Post-publish (or standalone build) command on Windows (ignored on Linux). This should perform +# the equivalent operation, as required, as DotnetPostPublish, but using DOS commands and batch +# scripts. Multiple commands may be specified, separated by semicolon or given in multi-line form. +# Note. This value may use macro variables. Additionally, scripts may use these as environment +# variables. Use 'pupnet --help macro' for reference. +DotnetPostPublishOnWindows = + +######################################## +# PACKAGE OUTPUT +######################################## + +# Optional package name (excludes version etc.). If empty, defaults to AppBaseName. However, it is +# used not only to specify the base output filename, but to identify the application in DEB and RPM +# packages. You may wish, therefore, to ensure that the value represents a unique name. Naming +# requirements are strict and must contain only alpha-numeric and '-', '+' and '.' characters. +PackageName = StabilityMatrix.Avalonia + +# Output directory, or subdirectory relative to this file. It will be created if it does not exist and +# will contain the final deploy output files. If empty, it defaults to the location of this file. +OutputDirectory = Release/linux-x64 + +######################################## +# APPIMAGE OPTIONS +######################################## + +# Additional arguments for use with appimagetool. Useful for signing. Default is empty. +AppImageArgs = + +# Boolean (true or false) which sets whether to include the application version in the AppImage filename, +# i.e. 'HelloWorld-1.2.3-x86_64.AppImage'. Default is false. It is ignored if the output filename is +# specified at command line. +AppImageVersionOutput = false + +######################################## +# FLATPAK OPTIONS +######################################## + +# The runtime platform. Invariably for .NET (inc. Avalonia), this should be 'org.freedesktop.Platform'. +# Refer: https://docs.flatpak.org/en/latest/available-runtimes.html +FlatpakPlatformRuntime = org.freedesktop.Platform + +# The platform SDK. Invariably for .NET (inc. Avalonia applications) this should be 'org.freedesktop.Sdk'. +# The SDK must be installed on the build system. +FlatpakPlatformSdk = org.freedesktop.Sdk + +# The platform runtime version. The latest available version may change periodically. +# Refer to Flatpak documentation. +FlatpakPlatformVersion = 22.08 + +# Flatpak manifest 'finish-args' sandbox permissions. Optional, but if empty, the application will have +# extremely limited access to the host environment. This option may be used to grant required +# application permissions. Values here should be prefixed with '--' and separated by semicolon or given +# in multi-line form. Refer: https://docs.flatpak.org/en/latest/sandbox-permissions.html +FlatpakFinishArgs = """ + --socket=wayland + --socket=x11 + --filesystem=host + --share=network +""" + +# Additional arguments for use with flatpak-builder. Useful for signing. Default is empty. +# See flatpak-builder --help. +FlatpakBuilderArgs = + +######################################## +# RPM OPTIONS +######################################## + +# Boolean (true or false) which specifies whether to build the RPM package with 'AutoReq' equal to yes or no. +# For dotnet application, the value should typically be false, but see RpmRequires below. +# Refer: https://rpm-software-management.github.io/rpm/manual/spec.html +RpmAutoReq = false + +# Boolean (true or false) which specifies whether to build the RPM package with 'AutoProv' equal to yes or no. +# Refer: https://rpm-software-management.github.io/rpm/manual/spec.html +RpmAutoProv = true + +# Optional list of RPM dependencies. The list may include multiple values separated with semicolon or given +# in multi-line form. If empty, a self-contained dotnet package will successfully run on many (but not all) +# Linux distros. In some cases, it will be necessary to explicitly specify additional dependencies. +# Default values are recommended for use with dotnet and RPM packages at the time of writing. +# For updated information, see: https://learn.microsoft.com/en-us/dotnet/core/install/linux-rhel#dependencies +RpmRequires = """ + krb5-libs + libicu + openssl-libs + zlib +""" + +######################################## +# DEBIAN OPTIONS +######################################## + +# Optional list of Debian dependencies. The list may include multiple values separated with semicolon or given +# in multi-line form. If empty, a self-contained dotnet package will successfully run on many (but not all) +# Linux distros. In some cases, it will be necessary to explicitly specify additional dependencies. +# Default values are recommended for use with dotnet and Debian packages at the time of writing. +# For updated information, see: https://learn.microsoft.com/en-us/dotnet/core/install/linux-ubuntu#dependencies +DebianRecommends = """ + libc6 + libgcc1 + libgcc-s1 + libgssapi-krb5-2 + libicu + libssl + libstdc++6 + libunwind + zlib1g +""" + +######################################## +# WINDOWS SETUP OPTIONS +######################################## + +# Boolean (true or false) which specifies whether the application is to be installed in administrative +# mode, or per-user. Default is false. See: https://jrsoftware.org/ishelp/topic_admininstallmode.htm +SetupAdminInstall = false + +# Optional command prompt title. The Windows installer will NOT add your application to the path. However, +# if your package contains a command-line utility, setting this value will ensure that a 'Command Prompt' +# program menu entry is added (with this title) which, when launched, will open a dedicated command +# window with your application directory in its path. Default is empty. See also StartCommand. +SetupCommandPrompt = Command Prompt + +# Mandatory value which specifies minimum version of Windows that your software runs on. Windows 8 = 6.2, +# Windows 10/11 = 10. Default: 10. See: https://jrsoftware.org/ishelp/topic_setup_minversion.htm +SetupMinWindowsVersion = 10 + +# Optional name and parameters of the Sign Tool to be used to digitally sign: the installer, +# uninstaller, and contained exe and dll files. If empty, files will not be signed. +# See: https://jrsoftware.org/ishelp/topic_setup_signtool.htm +SetupSignTool = + +# Optional suffix for the installer output filename. The default is empty, but you may wish set it to: +# 'Setup' or similar. This, for example, will output a file of name: HelloWorldSetup-x86_64.exe +# Ignored if the output filename is specified at command line. +SetupSuffixOutput = + +# Boolean (true or false) which sets whether to include the application version in the setup filename, +# i.e. 'HelloWorld-1.2.3-x86_64.exe'. Default is false. Ignored if the output filename is specified +# at command line. +SetupVersionOutput = false diff --git a/StabilityMatrix.Avalonia/Assets/Icon.512x512.png b/StabilityMatrix.Avalonia/Assets/Icon.512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..f39de2e51c1f179d66a1726fd1deffd6aae98a37 GIT binary patch literal 26152 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 literal 0 HcmV?d00001