diff options
Diffstat (limited to 'packages/app-emulation/wine/wine.exlib')
-rw-r--r-- | packages/app-emulation/wine/wine.exlib | 416 |
1 files changed, 0 insertions, 416 deletions
diff --git a/packages/app-emulation/wine/wine.exlib b/packages/app-emulation/wine/wine.exlib deleted file mode 100644 index 3829994..0000000 --- a/packages/app-emulation/wine/wine.exlib +++ /dev/null @@ -1,416 +0,0 @@ -# Copyright 2009-2018 Wulf C. Krueger <philantrop@exherbo.org> -# Copyright 2015 Kylie McClain <somasis@exherbo.org> -# Distributed under the terms of the GNU General Public License v2 - -myexparam compholio_version= -myexparam gecko_version -myexparam mono_version - -exparam -v COMPHOLIO_PV compholio_version - -# NOTE: see dlls/appwiz.cpl/addons.c's GECKO_VERSION/MONO_VERSION macros -exparam -v GECKO_PV gecko_version -exparam -v MONO_PV mono_version - -declare -A GECKO_NAME -GECKO_NAME=( - [i686]=${PN}_gecko-${GECKO_PV}-x86.msi - [x86_64]=${PN}_gecko-${GECKO_PV}-x86_64.msi -) -t=$(exhost --target) -MY_GECKO_NAME=${GECKO_NAME[${t%%-*}]} -unset t -MONO_NAME=${PN}-mono-${MONO_PV}.msi -STAGING_NAME=${PN}-staging -#STAGING_UNAME=${PN}-compholio -STAGING_UNAME=${STAGING_NAME} - -DOWNLOADS=" - ${GECKO_NAME[@]/#/https://dl.winehq.org/wine/wine-gecko/${GECKO_PV}/} - ${GECKO_NAME[@]/#/mirror://sourceforge/${PN}/} - mono? ( - https://dl.winehq.org/wine/wine-mono/${MONO_PV}/${MONO_NAME} - mirror://sourceforge/wine/Wine%20Mono/${MONO_PV}/${MONO_NAME} - ) -" -if [[ -n ${COMPHOLIO_PV} ]] && ! ever is_scm; then - DOWNLOADS+=" - staging? ( https://github.com/${STAGING_UNAME}/${STAGING_NAME}/archive/v${COMPHOLIO_PV}.tar.gz -> ${STAGING_UNAME}-${COMPHOLIO_PV}.tar.gz ) - " -fi - -if ever is_scm ; then - SCM_REPOSITORY="git://source.winehq.org/git/${PN}.git" - SCM_staging_REPOSITORY="https://github.com/${STAGING_UNAME}/${STAGING_NAME}.git" - require scm-git -elif [[ $(ever range 2) -eq 0 ]]; then - DOWNLOADS+=" - https://dl.winehq.org/wine/source/$(ever range 1).0/${PNV}.tar.xz - " -elif [[ $(ever range 2) -gt 0 ]]; then - DOWNLOADS+=" - https://dl.winehq.org/wine/source/$(ever range 1).x/${PNV}.tar.xz - " -else - DOWNLOADS+=" - https://dl.winehq.org/wine/source/$(ever range 1-2)/${PNV}.tar.xz - " -fi - -require freedesktop-desktop freedesktop-mime -require autotools [ supported_autoconf=[ 2.5 ] supported_automake=[ none ] ] - -export_exlib_phases pkg_pretend src_prepare src_configure src_compile src_install pkg_postinst pkg_postrm - -SUMMARY="compatibility layer capable of running Windows applications" -DESCRIPTION=" -Wine is an implementation of the Windows API on top of X and Unix. It does not -require Microsoft Windows, but can use native Windows DLLs if they are available. -It provides both a development toolkit for porting Windows source code to Unix -as well as a program loader, allowing many unmodified Windows programs to run on -x86-based Unixes. -" -HOMEPAGE="http://www.winehq.org" -BUGS_TO="philantrop@exherbo.org" -REMOTE_IDS="freecode:${PN} sourceforge:${PN}" -LICENCES=" - LGPL-2.1 [[ note = [ wine ] ]] - MPL-2.0 [[ note = [ wine-gecko ] ]] - mono? ( LGPL-2 [[ note = [ wine-mono ] ]] ) -" - -if [[ -n ${COMPHOLIO_PV} ]]; then - LICENCES+=" - staging? ( LGPL-2.1 [[ note = [ wine-staging ] ]] ) - " -fi - -SLOT="0" - -MYOPTIONS=" - alsa - camera [[ description = [ Support for using digital cameras in Wine using libgphoto2 ] ]] - cups - gsm [[ description = [ Support the GSM 06.10 codec for lossy speech compression ] ]] - gstreamer [[ description = [ Use GStreamer for codecs support ] ]] - isdn [[ description = [ Support for ISDN equipment in Wine using libcapi20 ] ]] - lcms - ldap - mp3 - mono [[ description = [ Use wine-mono, a replacement for Microsoft's .NET runtime based on mono ] ]] - openal - opengl - oss - pcap [[ description = [ Support for packet capturing ] ]] - pulseaudio - samba - scanner - tiff - vulkan - win64 - ( providers: ijg-jpeg jpeg-turbo ) [[ number-selected = exactly-one ]] -" - -if [[ -n ${COMPHOLIO_PV} ]]; then - MYOPTIONS+=" - gtk3 [[ requires = [ staging ] description = [ Add an option to use GTK3 for theming ] ]] - staging [[ description = [ Add ALL wine-staging patches containing bug fixes and features not yet available in regular wine ] ]] - vaapi [[ requires = [ staging ] description = [ Enable hardware accelerated video decode/encode ] ]] - " -fi - -DEPENDENCIES=" - build: - sys-devel/bison - sys-devel/flex[>=2.6.4] [[ note = [ https://bugs.winehq.org/show_bug.cgi?id=42132 ] ]] - sys-devel/gettext - virtual/pkg-config - x11-proto/xorgproto - build+run: - dev-libs/glib:2 - dev-libs/gnutls - dev-libs/libxml2 - dev-libs/libxslt - media-libs/fontconfig - media-libs/freetype:2[>=2.0.0] - media-libs/libpng:= - sys-apps/dbus - x11-libs/libICE - x11-libs/libSM - x11-libs/libX11 - x11-libs/libXcursor - x11-libs/libXcomposite - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libXi - x11-libs/libXinerama - x11-libs/libXrandr - x11-libs/libXrender - x11-libs/libXxf86vm - alsa? ( sys-sound/alsa-lib ) - camera? ( media-libs/libgphoto2 ) - cups? ( net-print/cups ) - gsm? ( media-libs/gsm ) - gstreamer? ( - media-libs/gstreamer:1.0 - media-plugins/gst-plugins-base:1.0 - ) - isdn? ( dev-libs/libcapi20 ) - lcms? ( media-libs/lcms2 ) - ldap? ( net-directory/openldap ) - mp3? ( media-sound/mpg123 ) - openal? ( media-libs/openal ) - opengl? ( - x11-dri/glu - x11-dri/mesa[>=9.0] - ) - oss? ( sys-sound/oss ) - pcap? ( dev-libs/libpcap ) - providers:ijg-jpeg? ( media-libs/jpeg:= ) - providers:jpeg-turbo? ( media-libs/libjpeg-turbo ) - pulseaudio? ( media-sound/pulseaudio ) - samba? ( net-fs/samba[>=3.0.25] ) - scanner? ( media-gfx/sane-backends ) - tiff? ( media-libs/tiff ) - suggestion: - fonts/corefonts [[ description = [ Many Windows apps need the MS corefonts ] ]] -" - -if [[ -n ${COMPHOLIO_PV} ]]; then - DEPENDENCIES+=" - build: - staging? ( - dev-lang/perl:= - dev-perl/XML-Simple - ) - build+run: - gtk3? ( x11-libs/gtk+:3 ) - staging? ( sys-apps/attr ) - vaapi? ( x11-libs/libva[X] ) - " -fi - -# The tests need a running X and even then they're unreliable -RESTRICT="test" - -# Wine's configure checks for 64bit x86 platforms and tries to add -m32 to CC if --enable-win64 is -# not given. This check (yes, that means the amd64 stuff) is chosen to be equivalent to wine's check -# in configure.ac. -my_win64_enable() { - case "${1}" in - x86_64*|amd64*) - echo "--enable-win64" - ;; - *) - echo "--disable-win64" - ;; - esac -} - -ECONF_SOURCE=${WORK} -WORK_HOST=${WORK}-host - -DEFAULT_SRC_CONFIGURE_PARAMS=( - --hates=disable-dependency-tracking - --hates=disable-silent-rules - --hates=enable-fast-install - --disable-tests - --with-curses - --with-dbus - --with-fontconfig - --with-freetype - --with-gettext - --with-gnutls - --without-gssapi - --with-jpeg - --with-png - --with-pthread - --with-x - --with-xcomposite - --with-xcursor - --with-xfixes - --with-xinerama - --with-xinput - --with-xinput2 - --with-xml - --with-xrandr - --with-xrender - --with-xshape - --with-xshm - --with-xslt - --with-xxf86vm - --with-zlib - --without-coreaudio - --without-gettextpo - --without-hal - --without-krb5 - --without-opencl - --without-sdl - --without-v4l - $(my_win64_enable $(exhost --target)) - $(exhost --is-native -q || echo --with-wine-tools="${WORK_HOST}") -) - - -DEFAULT_SRC_CONFIGURE_OPTION_WITHS=( - alsa - "camera gphoto" - cups - gsm - gstreamer - "isdn capi" - "lcms cms" - ldap - "mp3 mpg123" - openal - opengl - "opengl glu" - "opengl osmesa" - oss - pcap - "pulseaudio pulse" - "samba netapi" - "scanner sane" - tiff - vulkan -) - -#if ever at_least 3.11 ; then -# DEFAULT_SRC_CONFIGURE_OPTION_WITHS+=( -# "vulkan vkd3d" -# ) -#fi - - - -if [[ -n ${COMPHOLIO_PV} ]]; then - DEFAULT_SRC_CONFIGURE_OPTION_WITHS+=( - gtk3 - "staging xattr" - "vaapi va" - ) -fi - -DEFAULT_SRC_COMPILE_PARAMS=( - LDFLAGS=${CFLAGS} -) - -wine_pkg_pretend() { - if [[ -z ${COMPHOLIO_PV} ]] && has_version --root ${CATEGORY}/${PN}[staging]; then - ewarn "The staging patch for ${PNV} hasn't been released yet. If you rely on it, don't install ${PNV}." - fi -} - -wine_src_prepare() { - default - - if [[ -n ${COMPHOLIO_PV} ]] && option staging ; then - edo ../${STAGING_NAME}-${COMPHOLIO_PV}/patches/patchinstall.sh --all --backend=patch DESTDIR="${WORK}" - fi - - # Generate `nm` shim so winebuild will use the correct binary path - # export PATH="${WORK}/shims:${PATH}" - edo mkdir shims - edo ln -s /usr/host/bin/$(exhost --tool-prefix)nm ./shims/nm - edo ln -s /usr/host/bin/$(exhost --tool-prefix)as ./shims/as - edo ln -s /usr/host/bin/$(exhost --tool-prefix)ar ./shims/ar - edo ln -s /usr/host/bin/$(exhost --tool-prefix)ranlib ./shims/ranlib - - # Don't run update-desktop-database to avoid sandbox violations. - edo sed -i -e '/^UPDATE_DESKTOP_DATABASE/s:=.*:= true:' tools/Makefile.in - - # Remove the mimetype from Wine's desktop file to avoid conflicts with Mono - # and other stuff that sometimes uses .exe extensions. - edo sed -i -e '/^MimeType/d' loader/wine.desktop - - if ! exhost --is-native -q; then - # we need winetools built for the native arch and wine's build system doesn't do that - edo mkdir "${WORK_HOST}" - fi - - if [[ $(exhost --target) == x86_64* ]]; then - edo sed -i -e "s:wine:&64:g" tools/wineapploader.in - fi - if option win64; then - edo sed -i -e 's/"\/.wine"/"\/.wine64"/g' libs/wine/config.c - else - edo sed -i -e 's/"\/.wine"/"\/.wine32"/g' libs/wine/config.c - fi - - eautoconf -} - -wine_src_configure() { - if ! exhost --is-native -q; then - edo pushd "${WORK_HOST}" - - local old_cc=${CC} old_cxx=${CXX} - - # TODO: properly handle using the build host's tools - CC=$(exhost --build)-cc - CXX=$(exhost --build)-c++ - - # We don't need to enable all host stuff. The tools we're about to build don't depend on - # anything (except sfnt2fon, which requires freetype on the host). - econf \ - "${params[@]}" \ - --host=$(exhost --build) \ - --hates=disable-dependency-tracking \ - --hates=disable-silent-rules \ - --hates=enable-fast-install \ - --with-freetype \ - $(my_win64_enable $(exhost --build)) - - # we need to compile here so the actual target configure script doesn't reject - # our tool directory - emake tools tools/{sfnt2fon,widl,winebuild,winedump,winegcc,wmc,wrc} - - CC=${old_cc} - CXX=${old_cxx} - - edo popd - fi - - - - # NOTE(compnerd) the configure script is broken and checks with_lcms2 for the --with{,out}-cms - # option, so specify this in addition to the proper handling of the option - # NOTE --with-wine-tools while cross-compiling disables all build rules for the tools and - # makes a cross-compiled install different from a native one except if we enable those tools - # again - enable_tools=yes \ - with_lcms2=$(option_enable lcms) \ - default -} - -wine_src_compile() { - export PATH="${WORK}/shims:${PATH}" - - default -} - -wine_src_install() { - default - - # in almost all cases, arch-specific things should not go in /usr/share. - # however, this is where wine looks for gecko's msi in, and expects it - # to be at if it is installed. - insinto /usr/share/wine/gecko - doins "${FETCHEDDIR}"/${MY_GECKO_NAME} - - if option mono ; then - insinto /usr/share/wine/mono - doins "${FETCHEDDIR}"/${MONO_NAME} - fi -} - -wine_pkg_postinst() { - freedesktop-desktop_pkg_postinst - freedesktop-mime_pkg_postinst -} - -wine_pkg_postrm() { - freedesktop-desktop_pkg_postrm - freedesktop-mime_pkg_postrm -} - |