|
|
- ########################################################
- # Common properties
-
- pkg_name="dxvk-nvapi-git"
- pkg_license="custom --copyrightfile ../LICENSE"
- pkg_maintainer="${USER} <${USER}@unknown>"
- pkg_section="otherosfs"
- pkg_priority="optional"
- pkg_arch="all"
-
- pkg_relative_builddir="debian/source/dxvk-nvapi-master"
-
- pkg_commondesc="Alternative NVAPI implementation on top of DXVK."
- pkg_longdesc="
- Alternative implementation of NVIDIA's NVAPI library for
- usage with DXVK and VKD3D-Proton.
- "
-
- pkg_giturl="${git_source_dxvknvapi_debian}"
- pkg_homeurl="https://github.com/jp7677/dxvk-nvapi"
- pkg_gitbranch=${git_branch_dxvknvapi}
-
- git_commithash=${git_commithash_dxvknvapi}
- pkg_gitver=$(printf '%s.%s' $(git rev-list --count HEAD) $(git rev-parse --short HEAD | sed 's/\-[a-z].*//; s/\-/\./g; s/[a-z]//g'))
-
- pkg_installfile="./debian/install"
- pkg_controlfile="./debian/control"
- pkg_rulesfile="./debian/rules"
- pkg_compatfile="./debian/compat"
-
- ########################################################
- # Debian compatibility flag
-
- pkg_debcompat="12"
-
- ########################################################
- # Debian rules file section
-
- pkg_debrules="\
- #!/usr/bin/make -f
-
- %:
- dh \$@
-
- override_dh_auto_configure:
-
- override_dh_usrlocal:
-
- override_dh_install:
-
- # Compile DXVK NVAPI
- bash ./package-release.sh master debian/source/
-
- # Tell deb builder to create DXVK NVAPI x32 & x64 subfolders
- for arch in 32 64; do mkdir -p ${pkg_relative_builddir}/x${arch}; done
-
- # Make a proper executable script folder for setup_dxvk.sh file
- mkdir -p ${pkg_relative_builddir}/bin
-
- # Add missing setup_dxvk_nvapi.sh file
- cp debian/source/setup_dxvk_nvapi.sh /usr/share/dxvk_nvapi/
- chmod +x /usr/share/dxvk_nvapi/setup_dxvk_nvapi.sh
-
- printf '%s\n%s\n%s %s' \"#!/bin/sh\" \"cd /usr/share/dxvk_nvapi/\" \"./setup_dxvk_nvapi.sh\" \"\${@}\" > \"${pkg_relative_builddir}/bin/setup_dxvk_nvapi\"
- chmod +x "${pkg_relative_builddir}/bin/setup_dxvk_nvapi"
- dh_install
- "
-
- ########################################################
- # Debian install file section
-
- pkg_debinstall="\
- ${pkg_relative_builddir}/setup_dxvk_nvapi.sh usr/share/dxvk_nvapi/
- ${pkg_relative_builddir}/bin/* usr/bin/
- $(for arch in 32 64; do echo -e ${pkg_relative_builddir}/x${arch}/* usr/share/dxvk_nvapi/x${arch}/; done)
- "
-
- ########################################################
- # Debian control file subfields
-
- # Debian control file Overrides section
- pkg_overrides=(
- empty
- )
-
- # Debian control file Suggests section
- pkg_suggests=(
- empty
- )
-
- # Debian control file Conflicts section
- pkg_conflicts=(
- empty
- )
-
- # Debian control file Breaks section
- pkg_breaks=(
- empty
- )
-
- # Debian control file Replaces section
- pkg_replaces=(
- empty
- )
-
- # Debian control file Provides section
- pkg_provides=(
- empty
- )
-
- ############################
-
- # Build time dependencies
- pkg_deps_build=(
- #${_coredeps[*]}
- 'meson'
- 'glslang'
- 'ninja-build (>= 1.5)'
- 'gcc-mingw-w64-base'
- #'binutils-common'
- 'mingw-w64-common'
- 'binutils-mingw-w64-x86-64'
- 'binutils-mingw-w64-i686'
-
- 'mingw-w64-x86-64-dev'
- 'gcc-mingw-w64-x86-64'
- 'g++-mingw-w64-x86-64'
-
- 'mingw-w64-i686-dev'
- 'gcc-mingw-w64-i686'
- 'g++-mingw-w64-i686'
-
- 'directx-headers-dev'
- )
-
- # Runtime dependencies
- pkg_deps_runtime=(
- 'wine'
- )
-
- # Extra fields for Debian control file Source section
- pkg_extra_1=(
- empty
- )
-
- # Extra fields for Debian control file Package section
- pkg_extra_2=(
- empty
- )
-
- ############################
-
- # Deb builder execution field
- # Exclude -z flag from LDFLAGS because it does not work with meson
- # Do not build either debug symbols or doc files
- pkg_debbuilder="LDFLAGS=\"-Wl,-Bsymbolic-functions -flto=auto -ffat-lto-objects -flto=auto\" DEB_BUILD_OPTIONS=\"strip nodocs noddebs\" dpkg-buildpackage -us -uc -b -d --source-option=--include-binaries"
-
- ########################################################
- # Contents of Debian control file
-
- # This is a necessary variable setting for array loops below
- IFS=$'\n'
-
- pkg_debcontrol="\
- Source: ${pkg_name}
- Section: ${pkg_section}
- Priority: ${pkg_priority}
- Maintainer: ${pkg_maintainer}
- Build-Depends: debhelper (>=9), $(if [[ ${pkg_deps_build[0]} != "empty" ]]; then \
- for w in ${pkg_deps_build[@]}; do printf '%s, ' ${w}; done; fi)
- Standards-Version: 4.1.3
- Homepage: ${pkg_homeurl}
- $(if [[ ${pkg_extra_1[0]} != "empty" ]]; then for w in ${pkg_extra_1[@]}; do echo ${w}; done ; fi)
-
- Package: ${pkg_name}
- Architecture: ${pkg_arch}
- Depends: \${shlibs:Depends}, \${misc:Depends}, $(if [[ ${pkg_deps_runtime[0]} != "empty" ]]; then \
- for w in ${pkg_deps_runtime[@]}; do printf '%s, ' ${w}; done; fi)
- Description: ${pkg_commondesc}
- $(echo -e ${pkg_longdesc} | sed 's/^/ /g; s/\n/\n /g')
- $(if [[ ${pkg_extra_2[0]} != "empty" ]]; then for w in ${pkg_extra_2[@]}; do echo ${w}; done ; fi)
- $(if [[ ${pkg_suggests[0]} != "empty" ]]; then echo "Suggests: $(echo ${_kg_suggests[*]} | sed 's/\s/, /g')"; fi)
- $(if [[ ${pkg_conflicts[0]} != "empty" ]]; then echo "Conflicts: $(echo ${pkg_overrides[*]} | sed 's/\s/, /g')"; fi)
- $(if [[ ${pkg_breaks[0]} != "empty" ]]; then echo "Breaks: $(echo ${pkg_overrides[*]} | sed 's/\s/, /g')"; fi)
- $(if [[ ${pkg_replaces[0]} != "empty" ]]; then echo "Replaces: $(echo ${pkg_overrides[*]} | sed 's/\s/, /g')"; fi)
- $(if [[ ${pkg_provides[0]} != "empty" ]]; then echo "Provides: $(echo ${pkg_overrides[*]} | sed 's/\s/, /g')"; fi)
- "
-
- unset IFS
|