From b9c915093f5c7076282b4d2f24b1d1422aede169 Mon Sep 17 00:00:00 2001 From: Kyle Auble Date: Wed, 5 Sep 2012 12:43:50 -0500 Subject: Move static Winelib pages to wiki --- templates/en/winelib.template | 450 ----------------------------------------- templates/he/winelib.template | 437 --------------------------------------- 2 files changed, 887 deletions(-) delete mode 100644 templates/en/winelib.template delete mode 100644 templates/he/winelib.template diff --git a/templates/en/winelib.template b/templates/en/winelib.template deleted file mode 100644 index 20f85ab..0000000 --- a/templates/en/winelib.template +++ /dev/null @@ -1,450 +0,0 @@ - - - -

Winelib

- -

Motto: The journey of a thousand miles starts with a single step.

- -

Introduction

-

- Theoretically, any Win32 app should be compilable out of the box under Wine. - This, of course, is not the case. We have incompatible headers, and a bunch - of other problems described in - Winelib User's Guide. - A good way to fix these is to try to compile applications for which we - have the source under Winelib. - -

Why

-

But what do we hope to achieve? Well, the purpose of this project is four-fold: -

- -

Where

-

There are many such apps around, and a lot of them are hosted at - SourceForge. There are over - 10,000 apps - listed as running under Windows OS, and over - 7,000 - of them are listed as running under the Win32 environment. - All of the above have publicly available source code, and - most are decent candidates for this project. - -

Obviously, we cannot start porting all these applications. We have to pick a - few important ones, and work with those. - -

How

-

Compiling apps under Winelib should theoretically involve only makefile changes. - In practice, you will encounter header problems, and the likes -- for these it is - much better (and faster) to submit a patch, rather than document them. So for the - remainder of the section, let's assume the Wine headers are good enough for the - application in question. - -

We are now faced with adapting the build process to Wine's needs. As things - stand today, we have to make another assumption: you aim at compiling the application - using the GNU toolchain (gmake, gcc, ld, etc.). In theory, it should be possible to - accomplish this with other tools, but at this point this is a rather unexplored - territory. That being said, we now distinguish two large application classes: -

-
Non-GNU tools build process
-
For these, winemaker does a decent job of generating a build system. - I will not cover this type of applications here, for the time being. - Please refer to the winemaker - documentation - for more information.
-
GNU tools based build process
-
Fortunately, most OSS applications have a build system based around the - MinGW tool chain. Sometimes they have - alternative build systems for the Borland and/or Microsoft tools, but more - often than not they have to support the MinGW tools out of necessity. -
- -

What

- If you know of applications that should be listed here, please send your suggestions - to Dimi. Currently, we have: - - -

Applications

- Legend: - - -

WinVi

- - Beside the 32-Bit winelib port it is the first application ported to 64-Bit winelib and still runs. - -

Ultimate++

- It seems to have a MinGW build system since Nov 2004. - - -

AbiWord

- - To build under Winelib, simply do: - -
- -make ABI_OPT_WINELIB=1
-
-
- - -

WinAMP

-

Suggested by Brian Vincent: - Looks like Nullsoft has released the Winamp 3 code as open source. -

- -

OpenOffice

-

Suggested by Steven Edwards: - I have just completed a full install of OO 1.1 under WINE. No outside - packages are required to install and configure OpenOffice for Win32 - under Wine. There are a few minor bugs with some of the strings in - menus but I would rate it at 99%. If anyone is interested in a good - hobby project a Winelib port of this would be nice to see. -

- -

TeXnicCenter

-

Suggested by Matthias Jahn: - It is a tex-shell like kde's "kile". -

- -

CDex

-

Suggested by Stuart Rowan: - cdex is a great ripper tool used by many to make mp3s and oggs under windows. [...] - If this could be ported to winelib that would be super then I can enjoy it on linux (finally). -

- -

CD-DA X-Tractor

- - -

DXSDK's Examples

-

Suggested by Robert Reif. -

- -

Petzold's Examples

-

Suggested by John Kopplin. -

-

It took some work, but we've done it. The good news is that - all (but 3) examples compile just fine. This has been accomplished - while making absolutely no changes to the original source, and - very few (and obvious) changes to the GNU Makefiles. -

This is very good news, as it shows we can have a common build - system between Wine and Windows. The only samples that don't - work just yet are those from Chap21 which build DLLs, and DLL - creation is yet not supported by winegcc. I hope this will change - in the near future. -

- The problems that needed fixing were very simple, and quite - obvious. They fall into 2 categories: -

    -
  1. The samples expect to link with the msvcrt, not the - Unix libc, so we had to pass the -mno-cygwin flag - to the compiler/linker. Under mingw this is the default - behaviour. This change is actually beneficial for - the Windows port as well, as it will allow the samples - to be build using Cygwin's gcc also. As such, it - should be considered a portability fix, rather than - a Wine specific fix. -
  2. The filenames used mixed case (not matching the actual - name on disk), and some includes use backslash (\), - instead of forward slash (/). This problem is typical - and simple to address in a portable manner if you - can modify the source. As we wanted to not touch - the examples in any way, we had to find another way - around it. Luckily, Unix accepts virtually any char - in a filename (except / of course), as well as links. - So we just created the appropriate symbolic links - where necessary, or just renamed the file if it made - more sense. -
- - All these renames / symlinks creation was collected in a nice - little installation script. So, without further delay, here - are the instructions on how to try the sample under Wine: - -
(place the Petzold CD in the CDROM drive) - -
- -mount /mnt/cdrom
-mkdir petzold
-cd petzold
-cp -r /mnt/cdrom/* .
-wget http://www.computersciencelab.com/Petzold.zip
-unzip -a Petzold.zip
-bash Wine/install.sh
-make
-
-
- -

Enjoy! - -

GNU Winboard

-

Suggested by Erwin Wolff. -

- Interesting and simple chess game because it depends on email and network (TCP/IP) code to function. - -

CoolPlayer

-

Suggested by Henrik Uggla. -

- Update: (from Vincent) Ok, so I got it running under Winelib. - I'm listening to /usr/share/redhat-credits.ogg (only thing I could find quickly on my - computer :). It's so good to listen to something through it :P - I'll try to get it all under small bits for both projects. - -

Mozilla

-

One of the largest free software projects that we can support with Winelib. - Having this one compile, and run under Winelib would be a real tour de force. -

-

Update: Mozilla currently requires MS tools to build on Win32. - To be ported to Wine, Mozilla must first be ported over to MinGW. There is an - ongoing effort to do so that is tracked in bug - 134113. - -

Visual MinGW

-

Rational provided by Steven Edwards: -

[...] WINE might gain more of a market share if there was an easy way for - people that are writing Windows apps on Windows if they had an IDE for GCC - that was cross-platform. [...] the idea is to run Visual-Mingw under WINElib - and be able to just recompile your Win32 app that was built with Visual-Mingw - and the w32api package plus reduce some of the redundancy Wine, - Mingw and ReactOS have by finding areas where we are not in sync. -

- - -

PuTTY

-

A most loved Windows tool. -

- -

Dev-C++

- Andrew Lynch writes:
- Visual-Mingw sounds almost identical to DevEx found at - http://sourceforge.net/projects/wingtk - and http://www.bloodshed.net. -
I am using their wGLADE tool for cygwin/GTK+ development presently - and it works great under Win98.
- -

Update: This project cannot be ported using Winelib, - as it is written in Pascal/Delphi. - It should be possible to port it to Linux using Kylix relatively easily. - -

ATL & MFC

-

This is a very common request. And due to its widespread usage, - a very important project as well. -

- From Ronald, on what it took to compile MFC: - - -

Gimp

-

This one is a very strange case. The Gimp is a native - Linux application built around the GTK+ toolkit. - It became a native Windows application by porting over the entire GTK+ toolkit, and - other supporting libraries. It would thus be quite interesting to see how it can be - ported back to Linux, via Winelib. -

- -

VirtualDub

-

Suggested by Nerijus Baliunas since - it is often requested. -

- -

Winelib Fixes

- As explained in the introduction, the primary motivation for this effort is to discover, - and fix Winelib shortcomings. These are the fixes that have been - suggested and discussed - thus far: -
-
Configuration
-
Submit patch to autoconf to recognize Wine as a platform. [TODO] -
    -
  • worker: none -
  • status: not started -
  • updated: Nov 28, 2002 -
-
-
Compilation
-
Write a small wrapper that makes gcc on Linux behave like mingw. [DONE] - -
-
Resources
-
Make wrc compatible with windres at command line level. [DONE] - -
-
Linking
-
Write wrapper script that takes care of generating .spec files, etc. [DONE] -

From Alexandre:
- Yes, I think we want a wrapper like dllwrap to do all that. I'm not - sure a script would be enough, we may want a full-fledged C program. - The idea would be that you do something like: -

-  winewrap *.o *.res -o foo -lwhatever
-	
- and it builds the .spec.c, compiles it, links everything into - foo.exe.so, and builds a foo executable (which may be a wrapper script - or a real ELF binary). This also (mostly) solves the "Running" issues: - you still have a .exe.so file, but you don't really need to worry - about it. You simply run "foo" and everything works. - -
-
Running
-
Arrange so that a regular Unix executable is generated. [DONE] -

Improve the wineapploader so it can be used directly by the step above. -

-
- -
- -

 

diff --git a/templates/he/winelib.template b/templates/he/winelib.template deleted file mode 100644 index 03add67..0000000 --- a/templates/he/winelib.template +++ /dev/null @@ -1,437 +0,0 @@ - - - -

Winelib

- -

מוטו: גם מסע בן אלף מילים מתחיל בצעד אחד.

- -

מבוא

-

- באופן תאורטי, כל יישום Win32 אמור להיות בר הידור כמו שהוא תחת Wine. - זהו, כמובן, לא המצב. חלק מקובצי הכותרת אינם תומכים, ומגוון של בעיות - אחרות המתוארות ב - מדריך למשתמש ב־Winelib. - דרך טובה לתקן בעיות אלו היא לנסות להדר את היישומים שיש בידינו את קוד - המקור שלהם תחת Winelib. - -

מדוע

-

אך מהי בעצם המטרה שלנו? ובכן, מטרת המיזם הזה מתחלקת לארבע: -

- -

היכן

-

ישנם יישומים רבים כאלה ורובם מתארחים תחת - SourceForge. ישנם למעלה מ־ - 10,000 יישומים - הרשומים כברי הפעלה תחת מערכת ההפעלה Windows, ולמעלה מ־ - 7,000 - מהם מופיעים כברי הפעלה בסביבת Win32. - - לכל אלו יש קוד מקור הזמין לקהל הרחב ורובם הנם מועמדים הולמים - למיזם זה. - -

כמובן שאין באפשרותנו להתחיל להסב את כל היישומים האלה. עלינו לבחור מספר יישומים חשובים - ולעבוד אתם. - -

איך

-

הידור יישומים תחת Winelib אמור באופן תאורטי לדרוש שינויים רק בקובץ ה־makefile. - בפועל, יופיעו מספר תקלות בקובצי הכותרת וכדומה –– במצבים כאלו - עדיף (ומהיר) יותר לשלוח טלאי מאשר לתעד אותן. לכן במשך שאר - הסעיף, נניח שקובצי הכותרת של Wine טובים מספיק עבור היישום - הנדון. -

כעת אנו עומדים בפני אימוץ תהליך הבנייה לצרכים של Wine. עקב ההתנהלות הנוכחית עלינו להניח הנחה - אחת נוספת: מטרתך היא להדר את היישום באמצעות אוסף הכלים - של GNU‏ (gmake, gcc, ld וכו׳). בתאוריה, התוצאה אמורה להיות - זהה גם עבור כלים אחרים אך בשלב זה הנושא לא נחקר לעומק. כפי שנאמר, - כעת אנו מבדילים בין שתי מחלקות גדולות של יישומים: -

תהליך בנייה עם כלים שאינם GNU
-
עבור אלו, Winemaker עושה עבודה טובה למדי ביצירת מערכת בנייה. - את הסוג הזה של היישומים אנחנו לא נכסה במדריך הזה נכון לעכשיו. - נא לפנות אל התיעוד - של winemaker למידע נוסף.
-
תהליך בנייה המבוסס על הכלים של GNU
-
למרבה המזל, למרבית מיישומי הקוד הפתוח יש מערכת בנייה המבוססת סביב ערכת הכלים - MinGW. לעתים ישנן מערכות בנייה חלופיות - עבור הכלים של Borland ו/או Microsoft, אך יותר נפוץ שישנה תמיכה בכלים - של MinGW מתוך צורך. - - -

מה

- אם ידוע לך על יישומים שאמורים להופיע ברשימה הזאת, נא לשלוח אלינו את הצעותיך - אל Dimi. נכון לעכשיו, מופיעים: - - -

יישומים

- מקרא: - - -

WinVi

- - מלבד ההסבה ל־Winelib ב־32 סיביות זהו היישום הראשון שעבר הסבה ל־Winelib ב־64 סיביות ועדיין פועל. - -

Ultimate++

- נראה כי למיזם זה יש מערכת בנייה מסוג MinGW עוד מנובמבר 2004. - - -

AbiWord

- - כדי לבנות תחת Winelib, פשוט יש לבצע: - -
- -make ABI_OPT_WINELIB=1
-
-
- - -

WinAMP

-

הוצע על ידי Brian Vincent: - נראה כי Nullsoft שחררו את הקוד של Winamp 3 כקוד פתוח. -

- -

OpenOffice

-

הוצע על ידי Steven Edwards: - לא מזמן השלמתי התקנה מלאה של OO 1.1 תחת WINE. אין צורך בחבילות חיצוניות כדי - להתקין ולהגדיר את OpenOffice עבור Win32 תחת Wine. - ישנם כמה שינויים קטנים בחלק מהמחרוזות בתפריטים אך הדירוג - שלי הוא 99%. אם מישהו מעוניין במיזם כתחביב יהיה נחמד מאוד - לראות הסבה ל־Winelib של המיזם הזה. -

- -

TeXnicCenter

-

הוצע על ידי Matthias Jahn: - זוהי מעטפת tex בדומה ל־kile של KDE. -

- -

CDex

-

הוצע על ידי Stuart Rowan: - cdex הוא כלי מעולה להעתקה של מדיה אופטית המשמשת ליצירת קובצי mp3 ו־ogg תחת Windows. [...] - אם ניתן להסב ל־Winelib זה יכול להיות מעולה כיוון שאז אוכל ליהנות מהכלי הזה תחת לינוקס (סוף כל סוף). -

- -

CD-DA X-Tractor

- - -

הדוגמאות של DXSDK

-

הוצע על ידי Robert Reif. -

- -

הדוגמאות של Petzold

-

הוצע על ידי John Kopplin. -

-

נדרשה מעט עבודה כדי שהכול יפעל אך לבסוף הצלחנו. החדשות הטובות הן שכול - הדוגמאות (למעט 3) עוברות הידור כמו שצריך. הגענו למצב זה ללא שום שינויים - לקוד המקור ומעט מאוד שינויים (ברורים) לקובצי ה־Makefile של GNU. -

אלו חדשות ממש טובות כיון שניתן לראות שיש לנו מערכת בנייה משותפת ל־Wine - ול־Windows. הדוגמאות היחידות שאינן עובדות עדיין הן אלו של Chap21 - שבונות קובצי DLL ויצירה של קובצי DLL אינה נתמכת עדיין על ידי - winegcc. כולי תקווה שמצב זה ישתנה בעתיד הקרוב. -

- הבעיות שיש לתקן היו פשוטות מאוד ומובנות מאליהן. - ניתן לחלק אותן לשתי קטגוריות: -

    -
  1. הדוגמאות מצפות להיקשר על ידי ה־msvcrt, ולא באמצעות - ה־libc של יוניקס, לכן היה עלינו להוסיף את הדגלון -mno-cygwin - למהדר/מקשר. תחת Mingw זוהי התנהגות בררת המחדל. השינוי הזה הוא בעצם - חשוב גם להסבה ל־Windows, כיוון שהוא מאפשר לדוגמאות להיבנות גם באמצעות - ה־gcc של cygwin. וכיוון שזה המצב, חשוב שפעולה זו תיחשב לתיקון התניידות - מאשר תיקון נקודתי ל־Wine. -
  2. שמות הקבצים משתמשים בערבוב של אותיות קטנות וגדולות (אין התאמה - לשם האמתי בכונן) וחלקם כוללים קו נטוי שמאלי (\) במקום לוכסן (/). זוהי - בעיה טיפוסית וקלה לטיפול במונחים של התניידות אם ניתן לשנות את המקור. - כיוון שרצינו לא לגעת בדוגמאות בשום צורה, היה עלינו למצוא דרך שונה לעקוף - זאת. למרבה המזל, מערכת יוניקס מקבלת כמעט כל תו בשם הקובץ (למעט / - כמובן), לרבות קישורים. לכן היה עלינו ליצור קישורים סימבוליים היכן שיש צורך - או פשוט לשנות את שם הקובץ כדי שיהיה בו יותר היגיון. -
- - כל שינויי השמות / יצירת הקישורים הסימבוליים נאספו בסקריפט התקנה קטנטן ונחמד. - לכן, ללא כל עיכוב, להלן ההנחיות כיצד לנסות את הדוגמה תחת Wine: - -
(יש להכניס את התקליטור של Petzold לכונן התקליטורים) - -
- -mount /mnt/cdrom
-mkdir petzold
-cd petzold
-cp -r /mnt/cdrom/* .
-wget http://www.computersciencelab.com/Petzold.zip
-unzip -a Petzold.zip
-bash Wine/install.sh
-make
-
-
- -

כעת כל שנותר הוא ליהנות! - -

GNU Winboard

-

הוצע על ידי Erwin Wolff. -

- משחק שח־מט פשוט ומעניין כיוון שהוא נסמך על קוד תמיכה בדוא״ל וברשת (TCP/IP) כדי לעבוד. - -

CoolPlayer

-

הוצע על ידי Henrik Uggla. -

- עדכון: (מפי Vincent) ובכן, הצלחתי להריץ אותו תחת Winelib. - כרגע אני מאזין ל־‎/usr/share/redhat-credits.ogg (הדבר היחידי שהצלחתי למצוא במהרה - במחשב שלי :). כל כך נחמד שאפשר לשמוע באמצעותו דברים P: אני אנסה לפרק הכול לחלקים - קטנים עבור שני המיזמים. - -

Mozilla

-

אחד ממיזמי הקוד הפתוח הגדולים ביותר שניתן לתמוך בהם באמצעות Winelib. - ברגע שמיזם בסדר גודל כזה יעבור הידור וירוץ תחת Winelib מבחינתנו זו קריעת ים סוף. -

-

עדכון: נכון לעכשיו Mozilla דורשים כלים של MS כדי להיבנות בסביבת Win32. - כדי שניתן יהיה להסב ל־Wine, יש תחילה להסב את Mozilla ל־MinGW. ישנו - מאמץ כזה נכון לעכשיו וניתן לעקוב אחריו דרך הבאג - 134113. - -

Visual MinGW

-

הרעיון סופק על ידי Steven Edwards: -

[...] WINE עשויה לצבור נתח שוק נוסף אם הייתה דרך קלה לאנשים שכותבים יישומי Windows - ב־Windows האפשרות להשתמש בסביבת פיתוח המיועדת ל־GCC שתתמוך במספר מערכות הפעלה. - [...] הרעיון הוא להריץ את Visual-Mingw תחת WINElib ולקבל את - להדר מחדש את יישום ה־Win32 שלך שנבנה באמצעות Visual-Mingw - והחבילה w32api ולהפחית חלק מהעודפים של Wine, ל־Mingw - ול־ReactOS יש תחומי מחקר שונים כך שאין סנכרון בין השתיים. -

- - -

PuTTY

-

כלי אהוב לסביבת Windows. -

- -

Dev-C++

- Andrew Lynch כותב:
- Visual-Mingw נשמע כמעט זהה לחלוטין ל־ DevEx הנמצא בכתובת - http://sourceforge.net/projects/wingtk - וב־http://www.bloodshed.net. -
אני משתמש בכלי ה־ wGLADE שלהם לצורך תכנות ל־cygwin/GTK+ בימים אלה - והוא עובד מצוין תחת Win98.
- -

עדכון: לא ניתן להסב מיזם זה באמצעות Winelib, - כיוון שהוא נכתב ב־Pascal/Delphi. - יתכן שיהיה ניתן להסבו ללינוקס באמצעות Kylix יחסית בקלות. - -

ATL & MFC

-

זו בקשה נפוצה מאוד ועקב השימוש הנרחב זהו גם מיזם חשוב מאוד. -

- מאת Ronald, מה נדרש כדי להדר MFC: - - -

Gimp

-

זהו מצב מוזר במיוחד. The Gimp הנה תכנית שנכתבה במקור - עבור לינוקס סביב ערכת הכלים GTK+. - התכנה הפכה להיות יישום בעל תמיכה מלאה ב־Windows על ידי הסבה של ערכת הכלים GTK+‎ כולה - לרבות הספריות התומכות.לכן יהיה מעניין מאוד לראות כיצד ניתן להסב אותה בחזרה ללינוקס באמצעות Winelib. -

- -

VirtualDub

-

הוצע על ידי Nerijus Baliunas כיוון - שהתקבלו בקשות רבות. -

- -

תיקונים ב־Winelib

- כפי שהוסבר במבוא, התמריץ העיקרי למאמץ זה הוא לגלות ולתקן לקויות. - אלו התיקונים - שהוצעו ונדונו - עד כה: -
-
תצורה
-
שליחת טלאי ל־ autoconf כדי שיכיר ב־Wine כפלטפורמה. [לביצוע] -
    -
  • על הביצוע: אף אחד -
  • מצב: לא החל -
  • עדכון אחרון: ה־28 בנובמבר 2002 -
-
-
הידור
-
כתיבת מעטפת קטנה שגורמת ל־gcc תחת לינוקס להתנהג כמו mingw. [בוצע] - -
-
משאבים
-
הפיכת wrc לתומך windres ברמת שורת הפקודה. [בוצע] - -
-
קישור
-
כתיבת סקריפט מעטפת שמטפל ביצירת קובצי .spec וכו׳. [בוצע] -

מאת Alexandre:
- כן, לעניות דעתי אנו זקוקים למעטפת כגון dllwrap שתעשה את כל זה. אני לא - בטוח שסקריפט יהיה מספיק לכך, יתכן שנרצה תכנית C שלמה לנושא. - הרעיון אמור להיות משהו כזה: -

-  winewrap *.o *.res -o foo -lwhatever
-	
- והתהליך הזה יבנה את ה־ .spec.c, יהדר אותו, יקשר הכול אל - foo.exe.so, ויבנה קובץ הפעלה של (שאמור להיות סקריפט מעטפת או קובץ ELF - בינרי אמתי). תיקון זה פותר (ברובן) את בעיות ה"הרצה": - עדיין ישנו קובץ .exe.so, אך זה לא אמור להדאיג אותך. - פשוט צריך להריץ את "foo" והכול עובד. - -
-
הרצה
-
לארגן כך שייווצר קובץ הפעלה רגיל לסביבות יוניקס. [בוצע] -

שיפור ה־ wineapploader כדי שניתן יהיה להשתמש בו ישירות על ידי השלב הנ״ל. -

-
- -
- -

 

-- 1.7.9.5