Multi-Platform Package Manager for Stable Diffusion
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

292 lines
15 KiB

################################################################################
# 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 '<description>' element in the
# AppStream metadata through the use of a macro variable.
AppDescription =
# 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:PublishSingleFile=true -p:IncludeNativeLibrariesForSelfExtract=true -p:DebugType=None -p:DebugSymbols=false -p:PublishTrimmed=true
# 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
# 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