Skip to content

Conversation

@sheepman4267
Copy link
Member

@sheepman4267 sheepman4267 commented Jan 26, 2026

Summary
- Makes wine work at all
- Release notes can be found here

Test Plan
- Test wine. See that it does not work.
- Build and install wine and wine-32bit from this PR.
- See that winecfg and wine notepad and such works now.

Checklist

  • Package was built and tested against unstable
  • This change could gainfully be listed in the weekly sync notes once merged

**Summary**
    - Makes wine work at all
    - Release notes can be found [here](https://gitlab.winehq.org/wine/wine/-/releases/wine-11.0)
@HarveyDevel
Copy link
Member

The package wine-32bit now only contains

            <Path fileType="executable">/usr/bin/wine</Path>
            <Path fileType="data">/usr/share/applications/wine.desktop</Path>

There is no /usr/bin/wine64 but there is a /usr/share/applications/wine64.desktop so unless you installed wine + wine-32bit you would not have a working wine install.

The 32bit package / build shouldn't exist any more?

@GZGavinZhao
Copy link
Member

GZGavinZhao commented Jan 27, 2026

My understanding is the wine64 indeed doesn't exist now. It seems like the flag to control building for 32-bit Windows applications is --enable-archs=x86_64,i386. No more emul32 needed since we're not actually running Wine on 32-bit targets; Wine just needs the ability to run 32-bit Windows targets which is quite different from running Wine itself under 32-bit Linux. This recipe worked for me:

Details
# yaml-language-server: $schema=/usr/share/ypkg/schema/schema.json
name       : wine
version    : '11.0'
release    : 201
source     :
    - https://dl.winehq.org/wine/source/11.0/wine-11.0.tar.xz : c07a6857933c1fc60dff5448d79f39c92481c1e9db5aa628db9d0358446e0701
license    : LGPL-2.1-or-later
component  : virt
homepage   : https://www.winehq.org/
summary    : Wine is a compatibility layer for Windows applications
description: |
    Wine (originally an acronym for "Wine Is Not an Emulator") is a compatibility layer capable of running Windows applications on several POSIX-compliant operating systems, such as Linux, Mac OSX, & BSD. Instead of simulating internal Windows logic like a virtual machine or emulator, Wine translates Windows API calls into POSIX calls on-the-fly, eliminating the performance and memory penalties of other methods and allowing you to cleanly integrate Windows applications into your desktop.
builddeps  :
    - pkgconfig32(OpenCL)
    - pkgconfig32(alsa)
    - pkgconfig32(cups)
    - pkgconfig32(dbus-1)
    - pkgconfig32(glu)
    - pkgconfig32(gnutls)
    - pkgconfig32(gstreamer-plugins-base-1.0)
    - pkgconfig32(gtk+-3.0)
    - pkgconfig32(ice)
    - pkgconfig32(krb5)
    - pkgconfig32(libgphoto2)
    - pkgconfig32(libpcap)
    - pkgconfig32(libpulse)
    - pkgconfig32(libtiff-4)
    - pkgconfig32(libturbojpeg)
    - pkgconfig32(libusb-1.0)
    - pkgconfig32(libv4l1)
    - pkgconfig32(libvkd3d)
    - pkgconfig32(ncursesw)
    - pkgconfig32(ocl-icd)
    - pkgconfig32(odbc)
    - pkgconfig32(sdl2)
    - pkgconfig32(vulkan)
    - pkgconfig32(xi)
    - pkgconfig32(xinerama)
    - pkgconfig32(xshmfence)
    - pkgconfig32(xxf86vm)
    - pkgconfig(libavcodec)
    - pkgconfig(libpcsclite)
    - pkgconfig(netapi)
    - pkgconfig(sane-backends)
    - glibc-32bit-devel
    - libpth-32bit-devel
    - mingw-w64-32bit
patterns   :
    - 32bit :
        - /usr/bin/wine
        - /usr/share/applications/wine.desktop
rundeps    :
    - 32bit :
        - freetype2-32bit
        - harfbuzz-32bit
        - gstreamer-1.0-plugins-base-32bit
        - kerberos-32bit
        - libcap2-32bit
        - libgcrypt-32bit
        - libgnutls-32bit
        - libpng15-32bit
        - libtiff-32bit
        - libtxc_dxtn-32bit
        - libxcursor-32bit
        - libxrandr-32bit
        - mesalib-32bit
        - ncurses-32bit
        - sdl2-32bit
        - unixodbc-32bit
        - vulkan-32bit
    - libpng15
    - unixodbc
environment: |
    export PATH=/usr/share/mingw-w64/bin:$PATH
strip      : no
setup      : |
    %patch -p1 -i $pkgfiles/0001-Do-not-hijack-file-associations.patch

    %configure \
      --prefix=/usr \
      --libdir=/usr/lib \
      --disable-tests \
      --enable-archs=x86_64,i386 \
      --enable-build-id
build      : |
    %make
install    : |
    # %make_install -C wine32
    # %make_install -C wine64
    %make_install
    %install_license AUTHORS COPYING.LIB LICENSE LICENSE.OLD MAINTAINERS

    # rm -f $installdir/usr/lib*/wine/*/*.a

    # i686-w64-mingw32-strip $installdir/usr/lib32/wine/i386-windows/*
    # x86_64-w64-mingw32-strip $installdir/usr/lib64/wine/x86_64-windows/*

    install -Dm00644 $pkgfiles/wine64.desktop $installdir/usr/share/applications/wine64.desktop
    install -Dm00644 $pkgfiles/org.winehq.Wine.metainfo.xml -t $installdir/usr/share/metainfo/

    # Note: systemd-binfmt must be (re)started for this to work
    install -Dm00644 $pkgfiles/wine.binfmt $installdir/%libdir%/binfmt.d/wine.conf

    # Font aliasing settings for Win32 applications
    install -dm00755 $installdir/usr/share/fontconfig/conf.default
    install -Dm00644 $pkgfiles/30-win32-aliases.conf -t $installdir/usr/share/fontconfig/conf.avail
    ln -srv ${installdir}/usr/share/fontconfig/conf.avail/30-win32-aliases.conf ${installdir}/usr/share/fontconfig/conf.default/30-win32-aliases.conf

@sheepman4267
Copy link
Member Author

@GZGavinZhao Oh, awesome. I started to look into this earlier- didn't get very far into the docs before needing to go do something else. Do you want me to update this PR with your recipe, or would you rather open your own PR (since you've now actually done the work)?

@GZGavinZhao
Copy link
Member

Can you update your PR with the recipe? It was basically just pasted from the Arch version and still needs a bit more polishing. Thanks!

@sheepman4267
Copy link
Member Author

Working on it!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Triage

Development

Successfully merging this pull request may close these issues.

4 participants