Giter Site home page Giter Site logo

Comments (16)

ruanformigoni avatar ruanformigoni commented on May 25, 2024

Hi @Blad3forc3 , I'll release an arts package to replace appimage in the future. That should resolve some of these issues. To build your own wine appimage download this file and use appimage-builder. The command would be something like appimage-builder --recipe wine-staging.yml and this would generate the wine appimage. You can also try this version without the video drivers embed in the image:

version: 1

script:
  # Remove any previous build cache data
  - rm -rf AppDir appimage-builder-cache/var/cache/apt/archives/*wine* || true
  - mkdir AppDir && cp wrapper AppDir
  # Add winetricks
  - wget -q "https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks" -P ./AppDir/bin && chmod +x ./AppDir/bin/winetricks
  # Copy App icon to AppDir/usr/share/icons needed prior to appimage-builder ver 1.x.x
  - mkdir -p AppDir/usr/share/icons ; cp doc/logo-wine.svg AppDir/usr/share/icons/wine.svg

AppDir:
  path: ./AppDir

  app_info:
    id: org.winehq.wine
    name: wine
    icon: wine
    version: !ENV ${version_wine}
    exec: bin/bash
    exec_args: wrapper $@

  apt:
    arch: [amd64, i386]
    sources:
      - sourceline: 'deb http://archive.ubuntu.com/ubuntu/ kinetic main restricted universe multiverse'
      - sourceline: 'deb http://archive.ubuntu.com/ubuntu/ kinetic-updates main restricted universe multiverse'
      - sourceline: 'deb http://archive.ubuntu.com/ubuntu/ kinetic-backports main restricted universe multiverse'
        key_url: 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x871920D1991BC93C'
      - sourceline: 'deb https://dl.winehq.org/wine-builds/ubuntu/ kinetic main'
        key_url: 'https://dl.winehq.org/wine-builds/winehq.key'

    include:
      - winehq-staging
      - wine-staging
      - bash
      - cabextract
      - dash
      - perl
      - coreutils

  files:
    exclude:
      - sbin
      - var
      - etc/alternatives
      - etc/apt
      - etc/cron.daily
      - etc/dpkg
      - etc/mysql
      - etc/sane.d
      - etc/sensors.d
      - etc/skel
      - etc/snmp
      - etc/udev
      - etc/gss
      - etc/init.d
      - etc/logrotate.d
      - lib/modprobe.d
      - lib/systemd
      - lib/udev
      - usr/lib/mime
      - usr/lib/sasl2
      - usr/lib/tmpfiles.d
      - usr/sbin
      - usr/share/apps
      - usr/share/man
      - usr/share/doc
      - usr/share/adduser
      - usr/share/apport
      - usr/share/bash-completion
      - usr/share/bug
      - usr/share/debconf
      - usr/share/doc
      - usr/share/doc-base
      - usr/share/dpkg
      - usr/share/glib-2.0
      - usr/share/gst-plugins-base
      - usr/share/hal
      - usr/share/info
      - usr/share/initramfs-tools
      - usr/share/kde4
      - usr/share/libgphoto2
      - usr/share/lintian
      - usr/share/menu
      - usr/share/metainfo
      - usr/share/misc
      - usr/share/mysql-common
      - usr/share/pixmaps
      - usr/share/pkgconfig
      - usr/share/polkit-1
      - usr/share/snmp
      - usr/share/zoneinfo
      - usr/share/zoneinfo-icu
      - usr/share/zsh
      - opt/wine-staging/share/man
      - opt/wine-staging/share/applications
      - opt/wine-staging/lib/wine/i386-unix/*.a
      - opt/wine-staging/lib/wine/i386-windows/*.a
      - opt/wine-staging/lib64/wine/x86_64-unix/*.a
      - opt/wine-staging/lib64/wine/x86_64-windows/*.a

  after_bundle:
    # this is executed after the packages and files are added
    - |
     # Disable FileOpenAssociations
     sed -i 's|    LicenseInformation|    LicenseInformation,\\\n    FileOpenAssociations|g;$a \\n[FileOpenAssociations]\nHKCU,Software\\Wine\\FileOpenAssociations,"Enable",,"N"' AppDir/opt/wine-staging/share/wine/wine.inf
     # Disable winemenubuilder
     sed -i 's|    FileOpenAssociations|    FileOpenAssociations,\\\n    DllOverrides|;$a \\n[DllOverrides]\nHKCU,Software\\Wine\\DllOverrides,"*winemenubuilder.exe",,""' AppDir/opt/wine-staging/share/wine/wine.inf
     sed -i '/\%11\%\\winemenubuilder.exe -a -r/d' AppDir/opt/wine-staging/share/wine/wine.inf
  runtime:
    env:
      LIBGL_DRIVERS_PATH: '${APPDIR}/usr/lib/i386-linux-gnu/dri:${APPDIR}/usr/lib/x86_64-linux-gnu/dri:${LIBGL_DRIVERS_PATH}'
    path_mappings:
    - /opt/wine-staging:$APPDIR/opt/wine-staging

AppImage:
  #sign-key: None
  arch: x86_64

from gameimage.

Blad3forc3 avatar Blad3forc3 commented on May 25, 2024

I've tried building as you wrote but all i'm getting is lots of errors with your recipe file.

from gameimage.

ruanformigoni avatar ruanformigoni commented on May 25, 2024

It is probably with appimage-builder and not the recipe. Could you post the log output?

from gameimage.

Blad3forc3 avatar Blad3forc3 commented on May 25, 2024

Traceback (most recent call last):
File "/tmp/.mount_appimaurQ0Dy/usr/bin/appimage-builder", line 8, in
sys.exit(main())
File "/tmp/.mount_appimaurQ0Dy/usr/lib/python3.8/site-packages/appimagebuilder/main.py", line 40, in main
raw_recipe_data = recipe_loader.load(args.recipe)
File "/tmp/.mount_appimaurQ0Dy/usr/lib/python3.8/site-packages/appimagebuilder/recipe/loader.py", line 76, in load
return yaml.load(recipe_file, Loader=self._loader)
File "/tmp/.mount_appimaurQ0Dy/usr/lib/python3.8/site-packages/yaml/init.py", line 81, in load
return loader.get_single_data()
File "/tmp/.mount_appimaurQ0Dy/usr/lib/python3.8/site-packages/yaml/constructor.py", line 49, in get_single_data
node = self.get_single_node()
File "/tmp/.mount_appimaurQ0Dy/usr/lib/python3.8/site-packages/yaml/composer.py", line 36, in get_single_node
document = self.compose_document()
File "/tmp/.mount_appimaurQ0Dy/usr/lib/python3.8/site-packages/yaml/composer.py", line 58, in compose_document
self.get_event()
File "/tmp/.mount_appimaurQ0Dy/usr/lib/python3.8/site-packages/yaml/parser.py", line 118, in get_event
self.current_event = self.state()
File "/tmp/.mount_appimaurQ0Dy/usr/lib/python3.8/site-packages/yaml/parser.py", line 193, in parse_document_end
token = self.peek_token()
File "/tmp/.mount_appimaurQ0Dy/usr/lib/python3.8/site-packages/yaml/scanner.py", line 129, in peek_token
self.fetch_more_tokens()
File "/tmp/.mount_appimaurQ0Dy/usr/lib/python3.8/site-packages/yaml/scanner.py", line 223, in fetch_more_tokens
return self.fetch_value()
File "/tmp/.mount_appimaurQ0Dy/usr/lib/python3.8/site-packages/yaml/scanner.py", line 577, in fetch_value
raise ScannerError(None, None,
yaml.scanner.ScannerError: mapping values are not allowed here
in "./wine-staging.yml", line 27, column 66

from gameimage.

ruanformigoni avatar ruanformigoni commented on May 25, 2024

The indentation in the file needs to be exact, try to download the raw file here, just right click and choose save as.

from gameimage.

Blad3forc3 avatar Blad3forc3 commented on May 25, 2024

OK, ive got a different error now

Traceback (most recent call last):
File "/tmp/.mount_appimaRI2CBu/usr/bin/appimage-builder", line 8, in
sys.exit(main())
File "/tmp/.mount_appimaRI2CBu/usr/lib/python3.8/site-packages/appimagebuilder/main.py", line 40, in main
raw_recipe_data = recipe_loader.load(args.recipe)
File "/tmp/.mount_appimaRI2CBu/usr/lib/python3.8/site-packages/appimagebuilder/recipe/loader.py", line 76, in load
return yaml.load(recipe_file, Loader=self._loader)
File "/tmp/.mount_appimaRI2CBu/usr/lib/python3.8/site-packages/yaml/init.py", line 81, in load
return loader.get_single_data()
File "/tmp/.mount_appimaRI2CBu/usr/lib/python3.8/site-packages/yaml/constructor.py", line 51, in get_single_data
return self.construct_document(node)
File "/tmp/.mount_appimaRI2CBu/usr/lib/python3.8/site-packages/yaml/constructor.py", line 60, in construct_document
for dummy in generator:
File "/tmp/.mount_appimaRI2CBu/usr/lib/python3.8/site-packages/yaml/constructor.py", line 413, in construct_yaml_map
value = self.construct_mapping(node)
File "/tmp/.mount_appimaRI2CBu/usr/lib/python3.8/site-packages/yaml/constructor.py", line 218, in construct_mapping
return super().construct_mapping(node, deep=deep)
File "/tmp/.mount_appimaRI2CBu/usr/lib/python3.8/site-packages/yaml/constructor.py", line 143, in construct_mapping
value = self.construct_object(value_node, deep=deep)
File "/tmp/.mount_appimaRI2CBu/usr/lib/python3.8/site-packages/yaml/constructor.py", line 100, in construct_object
data = constructor(self, node)
File "/tmp/.mount_appimaRI2CBu/usr/lib/python3.8/site-packages/appimagebuilder/recipe/loader.py", line 64, in constructor_env_variables
raise RecipeError(
appimagebuilder.recipe.errors.RecipeError: Unable to resolve environment variable: version_wine

from gameimage.

ruanformigoni avatar ruanformigoni commented on May 25, 2024

Cool, now I think you can replace version: !ENV ${version_wine} with something like version: 8.4.0.

from gameimage.

Blad3forc3 avatar Blad3forc3 commented on May 25, 2024

I've tried replacing the version with the latest (8.5.0) and get this error

./appimage-builder.AppImage --recipe ./wine-staging.yml
INFO:main:Running main script
rm -rf AppDir appimage-builder-cache/var/cache/apt/archives/wine || true
mkdir AppDir && cp wrapper AppDir
cp: cannot stat 'wrapper': No such file or directory
Traceback (most recent call last):
File "/tmp/.mount_appimazD5H12/usr/bin/appimage-builder", line 8, in
sys.exit(main())
File "/tmp/.mount_appimazD5H12/usr/lib/python3.8/site-packages/appimagebuilder/main.py", line 50, in main
invoker.execute(commands)
File "/tmp/.mount_appimazD5H12/usr/lib/python3.8/site-packages/appimagebuilder/invoker.py", line 29, in execute
command()
File "/tmp/.mount_appimazD5H12/usr/lib/python3.8/site-packages/appimagebuilder/commands/run_script.py", line 82, in call
raise RuntimeError("Script exited with code: %s" % _proc.returncode)
RuntimeError: Script exited with code: 1

from gameimage.

ruanformigoni avatar ruanformigoni commented on May 25, 2024

Ok, you have to download the wrapper script, with this exact name, and save in the same folder that you saved the recipe.

from gameimage.

ruanformigoni avatar ruanformigoni commented on May 25, 2024

It would be best if you could clone the entire repository, and do this within it. There are other files the script will search for. git clone https://github.com/ruanformigoni/wine

from gameimage.

ruanformigoni avatar ruanformigoni commented on May 25, 2024

Here is wine 8.2 packed with arts if you want to try it out, to avoid the work of building an appimage yourself.

from gameimage.

Blad3forc3 avatar Blad3forc3 commented on May 25, 2024

Seems to be working now thanks RUan. After its finished can i just rename it to wine and replace the wine inside the AppDir/usr/bin inside the appimage to created?

from gameimage.

ruanformigoni avatar ruanformigoni commented on May 25, 2024

Yes, that is what I do :)

from gameimage.

Blad3forc3 avatar Blad3forc3 commented on May 25, 2024

Ok, Thanks Ruan!!! I will try the version with arts tomorrow and report back!

from gameimage.

ruanformigoni avatar ruanformigoni commented on May 25, 2024

No problem, thanks for the feedback!

from gameimage.

ruanformigoni avatar ruanformigoni commented on May 25, 2024

AppImage support dropped, flatimage should now offer less unexpected behaviors such as this one.

from gameimage.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.