Skip to content

Commit

Permalink
[WIP] Update org.winepak.Sdk (#12)
Browse files Browse the repository at this point in the history
Update org.winepak.Sdk to build new and improved winepak Sdk
and Platform.
  • Loading branch information
julianrichen committed Jul 10, 2018
1 parent ae809d4 commit 593f9d8
Showing 1 changed file with 172 additions and 16 deletions.
188 changes: 172 additions & 16 deletions org.winepak.Sdk.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,82 @@ id: org.winepak.Sdk
id-platform: org.winepak.Platform
branch: 3.0

runtime: org.winepak.BasePlatform
runtime-version: 3.0
sdk: org.winepak.BaseSdk
runtime: org.freedesktop.Platform
runtime-version: 1.6
sdk: org.freedesktop.Sdk

sdk-extensions:
- org.winepak.BaseSdk.Debug
- org.winepak.BaseSdk.Locale
- org.winepak.BaseSdk.Docs
- org.freedesktop.Sdk.Debug
- org.freedesktop.Sdk.Locale
- org.freedesktop.Sdk.Docs

add-extensions:
org.winepak.Sdk.Docs:
directory: share/runtime/docs
bundle: true
autodelete: true
no-autodownload: true

org.winepak.Sdk.Extension:
directory: lib/sdk
version: 3.0
subdirectories: true
autodelete: true
no-autodownload: true

org.winepak.Platform.Gecko:
directory: lib/gecko
version: 3.0
versions: 3.0
subdirectories: false
autodelete: false
no-autodownload: false

org.winepak.Platform.Mono:
directory: lib/mono
version: 3.0
versions: 3.0
subdirectories: false
autodelete: false
no-autodownload: false

org.winepak.Platform.Extension:
directory: lib/extension
version: 3.0
subdirectories: true
autodelete: true
no-autodownload: true

org.winepak.Platform.Compat.i386:
directory: lib/i386-linux-gnu
version: 3.0
versions: 3.0
add-ld-path: lib
subdirectories: false
autodelete: false
no-autodownload: false

org.freedesktop.Platform.GL32:
directory: lib/i386-linux-gnu/lib/GL
version: 1.4
versions: 1.6;1.4
add-ld-path: lib
subdirectories: true
autodelete: false
no-autodownload: true
merge-dirs: vulkan/icd.d;glvnd/egl_vendor.d
download-if: active-gl-driver
enable-if: active-gl-driver

platform-extensions:
- org.freedesktop.Platform.Locale

inherit-extensions:
- org.winepak.BaseSdk.Docs
- org.winepak.BaseSdk.Extension
- org.winepak.BasePlatform.Compat.i386
- org.winepak.BasePlatform.Gecko
- org.winepak.BasePlatform.Mono
- org.winepak.BasePlatform.Extension
- org.freedesktop.Sdk.Extension
- org.freedesktop.Platform.GL
- org.freedesktop.Platform.Timezones
- org.freedesktop.Platform.GStreamer
- org.freedesktop.Platform.VAAPI.Intel

finish-args:
- --sdk=org.winepak.Sdk//3.0
Expand All @@ -31,13 +91,15 @@ finish-args:
- --env=WINEPREFIX=/var/data/wine

cleanup:
- /docs
- /man
- /share/man

cleanup-commands:
- /usr/libexec/freedesktop-post.sh

cleanup-platform:
- /docs
- /include
- /share/aclocal
- /share/pkgconfig
Expand All @@ -54,6 +116,68 @@ build-options:
V: '1'

modules:
- name: platform-setup
buildsystem: simple
build-commands:
- mkdir -p /usr/share/runtime/docs
- mkdir -p /usr/lib/sdk
- mkdir -p /usr/lib/extension
- mkdir -p /usr/lib/gecko
- mkdir -p /usr/lib/mono
- mkdir -p /usr/lib/i386-linux-gnu

- name: openldap
config-opts:
- --disable-static
sources:
# OpenLDAP required for Wine
# Due to the licencing of BDB v6.* we must stick with OpenLDAP 2.4.46
# FTP isn't support in flatpak & flatpak-builder so we use he https mirror
# https://www.openldap.org/software/download/OpenLDAP/openldap-release/
- type: archive
url: https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-2.4.46.tgz
sha256: 9a90dcb86b99ae790ccab93b7585a31fbcbeec8c94bf0f7ab0ca0a87ea0c4b2d
modules:
- name: BDB
config-opts:
- --enable-compat185
- --enable-shared
- --enable-static
- --enable-cxx
- --enable-dbm
- --enable-stl
make-install-args:
- LIBSO_LIBS=-lpthread
sources:
# Bereley DB required for OpenLDAP
# Due to licencing v6.* will not work with later versions of OpenLDAP
# and for that matter a lot of other software. Stick to v5.3.28
# http://www.oracle.com/technetwork/products/berkeleydb/downloads/index-082944.html
- type: archive
url: http://download.oracle.com/berkeley-db/db-5.3.28.tar.gz
sha256: e0a992d740709892e81f9d93f06daf305cf73fb81b545afe72478043172c3628
- type: script
dest-filename: configure
commands:
- "./dist/configure $@"

- name: cabextract
buildsystem: autotools
sources:
- type: archive
url: https://www.cabextract.org.uk/cabextract-1.6.tar.gz
sha256: cee661b56555350d26943c5e127fc75dd290b7f75689d5ebc1f04957c4af55fb

- name: unrar
buildsystem: simple
build-commands:
- make
- make install
sources:
- type: archive
url: https://www.rarlab.com/rar/unrarsrc-5.6.4.tar.gz
sha256: 9335d2201870f2034007c04be80e00f1dc23932cb88b329d55c76134e6ba49fe

- name: wine-win64
only-arches:
- x86_64
Expand Down Expand Up @@ -82,10 +206,15 @@ modules:
cleanup:
- /share/man
- /share/applications
post-install:
- rm -rf /usr/share/wine/gecko
- ln -s /usr/lib/gecko /usr/share/wine/gecko
- rm -rf /usr/share/wine/mono
- ln -s /usr/lib/mono /usr/share/wine/mono
sources:
- type: archive
url: https://dl.winehq.org/wine/source/3.0/wine-3.0.1.tar.xz
sha256: bad00d7ddac6652795a2ed52ce02a544ff4e891499b29ac71d28d20b8e1d26f3
url: https://dl.winehq.org/wine/source/3.0/wine-3.0.2.tar.xz
sha256: cad771375409e24244eab252da044306158af8a8bea4432e7ca81c1dc6b463ff

- name: wine-win32
only-arches:
Expand Down Expand Up @@ -117,10 +246,37 @@ modules:
- /include
- /share/man
- /share/applications
post-install:
- rm -rf /usr/share/wine/gecko
- ln -s /usr/lib/gecko /usr/share/wine/gecko
- rm -rf /usr/share/wine/mono
- ln -s /usr/lib/mono /usr/share/wine/mono
sources:
- type: archive
url: https://dl.winehq.org/wine/source/3.0/wine-3.0.1.tar.xz
sha256: bad00d7ddac6652795a2ed52ce02a544ff4e891499b29ac71d28d20b8e1d26f3
url: https://dl.winehq.org/wine/source/3.0/wine-3.0.2.tar.xz
sha256: cad771375409e24244eab252da044306158af8a8bea4432e7ca81c1dc6b463ff

# Override i386 symlink for /usr/lib/ld-linux.so.2
# In general we don't want to override things from the freedesktop Sdk and
# Platform but, consider winepak solves a unique case we'll make an exception.
#
# Normal /usr/lib/ld-linux.so.2 is installed by coping a special ld-linux.so.2
# from /usr/lib/extra-links/*. The ld-linux.so.2 found in that directory is a
# symlink to /app/lib/ld-linux.so.2 which we then override in each application.
#
# wine64 is basically worthless without wine32 so we load our own Compat.i386
# extension in the runtime and point /usr/lib/ld-linux.so.2 to our own mount
# point at /usr/lib/i386-linux-gnu/lib/ld-linux.so.2
- name: lib32-i386-symlink
only-arches:
- x86_64
buildsystem: simple
build-commands: []
sources:
- type: shell
commands:
- mkdir -p /usr/lib/extra-links
- ln -s -f /usr/lib/i386-linux-gnu/lib/ld-linux.so.2 /usr/lib/extra-links/ld-linux.so.2

- name: metainfo
buildsystem: simple
Expand Down

0 comments on commit 593f9d8

Please sign in to comment.