WINE 8.0-rc1, primera RC de la próxima estable que llega con muchos más cambios de los esperados

WINE 8.0-rc1

Sabíamos que estaba cerca, y ya está aquí WINE 8.0-rc1. Esta es la primera Release Candidate de la próxima versión estable de WINE, programada para principios de 2023. Sabíamos que tenía que llegar, pero no que lo haría con tantos cambios, teniendo en cuenta que en esta fase del desarrollo ya sólo se deberían realizar pequeños retoques para preparar el próximo gran lanzamiento. No sabemos si seguirá esta tendencia en las próximas semanas, pero en esta sí ha sido así.

Cuando se llega a esta fase del desarrollo, WineHQ suele publicar artículos de disponibilidad, y en la lista de cambios informar de que en esta fase del desarrollo sólo se perfilan las cosas, pero la nota del lanzamiento de WINE 8.0-rc1 es prácticamente igual que las de la fase de desarrollo normal: se han publicado cientos de cambios, y también una pequeña lista con las novedades que consideran más importantes.

WineHQ destaca que vkd3d ha subido a la v1.6, que se han hecho optimizaciones en Vulkan y OpenGL, más soporte para procesadores de impresión, se ha mejorado el panel de control del joystick y que se ha finalizado la conversión de formato printf de tipos largos. Además, han añadido una lista con 544 cambios. No deja de ser curioso que sean más del doble de lo que han publicado en algunas semanas del proceso bisemanal.

Bugs corregidos en WINE 8.0-rc1

La lista de bugs corregidos incluye:

  • shell32:shelllink – test_load_save() falla aleatoriamente en WINE.
  • ws2_32/tests/sock.c falla en gentoo sin soporte IPX.
  • Múltiples aplicaciones necesitan la implementación de D3DXDisassembleShader() (Tom Clancy’s Rainbow Six: Vegas 2, The Void).
  • kernel32:console falla en Windows japonés y chino.
  • user32:clipboard test_ClipboardOwner() tiene una condición de carrera con los gestores de portapapeles.
  • oleaut32:typelib: test_CreateTypeLib(SYS_WIN32) falla en WINE de 64 bits.
  • La versión de 32 bits:install falla en wineprefixes de 64 bits (ahora todo).
  • La salida user32:msg es demasiado grande en WINE.
  • user32:win tiene algunos fallos espurios en GetScrollInfo.
  • riched20:editor falla con la página de código UTF-8.
  • user32:msg – test_dbcs_wm_char() falla en WINE en las configuraciones regionales japonesa y china.
  • rpcrt4:ndr_marshall falla en los últimos Windows 8.1, 21H1 y 21H2.
  • mshtml:htmldoc falla en Windows con la codificación UTF-8.
  • kernel32:locale – test_GetLocaleInfoW() y test_invariant() fallan en Windows en hindi.
  • conhost.exe:tty – test_tty_input() falla en la mayoría de las configuraciones regionales en Windows.
  • shell32:shelllink – test_load_save() falla aleatoriamente al borrar test.lnk en WINE.
  • dinput:force_feedback – test_windows_gaming_input() a veces tiene un número de referencias inesperado en WINE.
  • user32:msg – test_button_messages() falla aleatoriamente en Windows y WINE.
  • user32:msg – La prueba SW_SHOWMINIMIZED en test_messages() tiene éxito en WINE con fvwm.
  • ddraw:ddraw1 tiene más de 255 fallos en las VMs TestBot debian11.
  • ddraw:ddraw1 – test_clear() tiene raros fallos en WINE en la VM debian11.
  • dinput:device8 – test_sys_mouse() tiene algunos fallos raros en las VMs TestBot.
  • urlmon:url – test_URLDownloadToFile_abort() falla a veces en Windows 7+.
  • Ragnarok Online mal rendimiento.
  • quartz:mpegaudio – test_streaming_events() de 64 bits falla en fg-deb64.
  • mshtml:htmldoc – test_editing_mode(TRUE, TRUE) a veces falla.
  • Las aplicaciones de 16 bits se niegan a iniciar wine 7.15+.
  • Múltiples instaladores fallan en user32 (Drakan, Star Wars, Colin McRae, X-COM, etc.).
  • vbscript no puede compilar CaseClausules que no utilicen dos puntos.
  • ntdll:info no funciona en Windows 8 a 10 1709 en las compilaciones de GitLab WineTest.
  • kernel32:console de 64 bits no funciona en Windows en las versiones de GitLab WineTest.
  • vbscript no puede compilar expresiones const privadas.
  • TMUnlimiter 1.2.0.0 requiere archivos ini con espacios en blanco en la sección para ser analizado correctamente.
  • ddraw:ddraw1, ddraw:ddraw2, ddraw:ddraw4, ddraw:ddraw7 – test_cursor_clipping() falla en configuraciones de doble pantalla en Wine.
  • las páginas del archivo de ayuda script56.chm no funcionan correctamente debido a que WINE omite los eventos html beforeprint y afterprint.
  • dup2 error devuelve ENFILE en lugar de EBADF.
  • Redim debería fallar en matrices fijas.
  • NCryptExportKey no está implementado.
  • NCryptSignHash no está implementado.
  • postgresql installer 9.3 necesita soporte para Username en WScript.Network.
  • çBCryptSignHash no soporta BCRYPT_PAD_PSS.
  • Regresión en el manejo de impresión en Framemaker 8.
  • MDB Viewer Plus: no se puede abrir la base de datos.
  • JGlossator se bloquea.
  • Wine segfaults on startup on macOS 12 and 13.
  • kernel32:heap – Test_GlobalAlloc() de 64 bits falla en Windows 7.
  • Studio One Professional 5 se bloquea al iniciarse con una función no implementada USER32.dll.RegisterSuspendResumeNotification.
  • las impresiones no funcionan en ninguna aplicación.
  • wldap32:parse – test_ldap_paged_search() a veces obtiene LDAP_SERVER_DOWN en Wine, se bloquea.
  • mshtml:events a veces obtiene un fallo en Protocol_Continue() en Windows.
  • winhttp:notification falla y expira sistemáticamente en WINE.
  • No se puede ejecutar «make install» después de «makedep: Add a helper function to skip spaces in strings».

WINE 8.0-rc1 está disponible desde este enlace. En la página de descargas hay información sobre cómo instalar esta y otras versiones en sistemas operativos como Debian y Ubuntu, pero también se puede instalar en Android y macOS.

A partir de ahora, WineHQ lanzará una Release Candiate a la semana, por lo que el viernes que viene debería llegar WINE 8.0-rc2.

from Linux Adictos https://ift.tt/eWRABSx
via IFTTT

Qué es Rust y cómo usarlo en Linux

Script de instalación de Rust
Hace unos días Darkcrizt nos contó qué lenguajes de programación se utilizaron para la escribir el código de Android 13. Y, uno de ellos es el que cada vez más protagonismo está ocupando en la creación del núcleo Linux. Es por eso por lo que en este artículo vamos a explicar qué es Rust y cómo usarlo en Linux.

Lo curioso del caso es que en la lista de lenguajes más populares según el índice TIOBE está último en el lugar 20 mientras que C y C++ a los que está reemplazando ocupan el segundo y tercero. Sin embargo, parece que va a tener un gran futuro.


Uno podría preguntarse cuál es entonces la necesidad de un nuevo lenguaje de programación. La respuesta es que alrededor del 70% de los problemas de seguridad de la última década experimentados por los productos de Microsoft y Google Chrome tienen que ver con falencias de los lenguajes de programación arriba citados.

Qué es Rust

Desarrollado originalmente por Mozilla, ahora está en manos de una fundación independiente. Su objetivo era crear un lenguaje con las características de C y C++ pero solucionando los problemas de seguridad de estos lenguajes. De ahí que haya despertado el interés de los desarrolladores de sistemas operativos.

Además, su compilador es mucho más efectivo y es ideal para el procesamiento de grandes cantidades de datos.

Para dar una definición más formal podemos decir que Rust es un lenguaje de programación de código abierto. Es de tipo estático y está pensado para maximizar el rendimiento y la seguridad con énfasis en la gestión segura de la memoria y la concurrencia. Tiene una sintaxis similar a la de C++.

Los lenguajes de programación manejan diversos tipos de datos que para ser procesados correctamente deben ser primero identificados. Por ejemplo, distinguir si se trata de un carácter o un número.

El proceso de verificar que cada dato haya sido asignado a su tipo correcto se conoce como verificación de tipos y cada lenguaje de programación tiene un sistema para hacerlo ya que ayuda a prevenir errores durante la ejecución de los programas. La verificación se puede hacer al momento de la ejecución o cuando se compila.

En los lenguajes de programación de tipo estático como Rust la verificación se produce al momento de la compilación. La compilación es el proceso de convertir el código del programa a un lenguaje comprensible para la máquina. Esto requiere conocer el tipo asociado a cada una de las variables.

La programación concurrente permite que diferentes partes del código se ejecuten de manera alternada pero tan rápidamente que el usuario crea que se hace en forma paralela.  Esto permite por ejemplo que si una parte del programa requiere de una respuesta externa (Por ejemplo, la conexión con un servidor externo) el resto del programa se siga ejecutando. Podría ser el caso de un cliente de correo electrónico que mientras espera poder descargar el correo de una cuenta envía los nuestros por otra.

Cómo instalar Rust en Linux

Ahora que ya sabemos qué es Rust veamos cómo podemos instalarlo en nuestra distribución Linux. Para hacerlo abrimos la terminal y escribimos el siguiente comando

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Es posible que tengas que instalar primero el comando curl. Está en los repositorios de todas las distribuciones por lo que usa el comando habitual.
Cuando ejecutamos el comando veremos el siguiente mensaje:

¡Bienvenido a Rust!

Esto descargará e instalará el compilador oficial del lenguaje de programación Rust, y su gestor de paquetes, Cargo.

Luego nos informa los directorios que va a utilizar y nos ofrece tres opciones:

  1. Continuar con la instalación (Opción predeterminada)
  2. Personalizar la instalación)
  3. Abandonar la instalación.

Si seleccionamos la primera opción, cuando finalice la instalación nos pedirá que cerremos la terminal para actualizar la configuración. También podemos hacerlo con el comando:

source "$HOME/.cargo/env"
Comprobamos la versión de Rust con:
rustup update
Y desinstalar con:
rustup self uninstall
Cómo entornos integrados de desarrollo se pueden usar Visual Studio Code (Está en las tiendas de Snap y Flatpak) y GNU Emacs (Repositorios oficiales).
No quise entrar demasiado en las diferencias técnicas entre Rust y otros lenguajes de programación. Simplemente señalar qué si quieres aprender a programar e incluso colaborar con el desarrollo de Linux, Rust parece una excelente opción.

from Linux Adictos https://ift.tt/SLK3PE4
via IFTTT