דביאן, libhdate וgpc

אתמול קפלן הפנה אותי לדיווח wish list בדביאן של אדם המעוניין לראות תמיכה בקישוריות שעשיתי ל libhdate ב GPC.

הסיבה שהוא רצה תמיכה ל GPC, היא בגלל שGPC הוא מהדר פסקל הבנוי מעל GCC, ולכן יש לו תמיכה רחבה יותר של פלטפורמות. זה הייתרון היחיד שיש ל GPC על פני כל מהדר פסקל אחר. אבל החיסרון העיקרי של GPC, הוא בכך שכבר אין בפיתוח פעיל – הגרסה האחרונה יצאה ב2005, וכמו כן, הוא מבוסס על GCC 3x, ולא על גרסאות חדשות יותר.

בנוסף לכך הרבה מהתכונות שקיימות במהדרי פסקל מודרניים, לא נכנסו ל GPC, חלק מזה נובע מכך שהוא מבוסס על GCC, אשר עובד בשיטה שונה, המחייבת אותך לעבוד קשה יותר ביצירת התוכנה/ספרייה שלך (קבצי Makefile וכלים נלווים אחרים), בעוד שמהדרי פסקל אחרים מקבלים הוראות מתוך הקוד כיצד להדר את הקוד, בוכך מקצרים את הצורך בכתיבת תסריטים להידור ופריסה שמחוייבים ב C ו ++C.

לדעתי, כיום עדיף להשקיע אנרגייה בפיתוח FPC ותמיכתו בפלטפורמות חדשות, מאשר להשקיע ב GPC, אשר מעולם לא הצליח לדעתי לנצל את השפה במלואה.

בכל מקרה, את הוספת התמיכה ל GPC הוספתי בקובצי הקוד הרגילים, והעברתי אותם לקובי. הוספת התמיכה לGPC, בניגוד לבקשת המדווח, היא לא במקום FPC, אלא בנוסף, בלי צורך למציא מחדש את הגלגל.

4 מחשבות על “דביאן, libhdate וgpc

  1. Lior Kaplan

    הבקשה שלו היתה להדר את התוספות בפסקל עם GPC ולא עם FPC. מה שכמובן אומר או זה או זה, כי לא ניתן לבנות את החבילות עם שני מהדרים שונים.

    בכל מקרה, אני בעד להשאיר את הבניה עם FPC בגלל העדכניות, ולהשאיר לו לבנות את החבילות על איזה פלטפורמות שהוא רוצה עם GPC.

  2. ik_5 מאת

    זה החיסרון של deb (שאר מנהלי החבילות).
    בכל מקרה ברגע שקובי יעלה את זה לsvn הוא יוכל לעשות עם הקוד מה שהוא רוצה.

  3. קובי

    בנוגע לקישור:

    קישור של ספריה לערכת פיתוח נוספת אינה פר-שפה, היא פר-ערכת פיתוח. לכן אין בעיה שיהיו במקביל ומותקנים באותו מחשב קישורים של הספריה גם ל cPython גם ל Jython וגם ל ironPython באותה מכונה למרות שכולם קישורים לאותה שפה python.

    באותה מידה אין שום בעיה ליצור קישור גם ל free pascal גם ל gnu pascal , ואפילו מאותו קוד בסיסי 🙂 כמו שעידו הכין באלגנטיות רבה.

    מה שצריך זה להדר את הקוד פעמיים. כל פעם ע"י הכלים המתאימים של free pascal ופעם ע"י הכלים של gnu pascal.

    בנודע לדביאן:

    בדביאן פתרו את הבעיה של חבילות קישור לאותה שפה אך עבור ערכות פיתוח שונה ע"י מתן שמות מתאימים לחבילות. unit עבור ערכת הפיתוח של free pascal נקרא בד"כ fp-units-XXXX ואילו unit של gnu pascal יקרא בשם אחר (אני לא יודע מה הקונווציה).

    כך שהפיתרון של דביאן הוא הכנת שתי חבילות, אחת עבור כל ערכת פיתוח תוך ציון ערכת הפיתוח בשם. חבילות ל free pascal מתחילות באותיות fp- ואילו חבילות ל gnu pascal בוודאי יתחילו באותיות gp-

    בנוגע לביצוע:

    יש לי כרגע שתי בעיות עם הישום של הפצ':
    1. אני לא יודע איך מתקינים unit במערכת כך ש gnu pascal ידע שיש לו unit חדש.
    2. שכחתי מה הסיסמא שלי ל sf 😦

    אני מקווה לפתור את שתיהן עוד הלילה.

  4. קובי

    גירסה 1.4.12 של libhdate שוחררה והיא מכילה את הקוד החדש של עידו

    במידה ומותקן על המחשב fpc ניתן לייצר ולהתקין את הקישור ל fpc
    במידה ומותקן על המחשב gpc ניתן ליצר ולהתקין את הקישור ל gpc
    ובמידה ושניהם מותקנים אפשר לייצר ולהתקין את שנייהם במקביל 🙂

    הוספתי גם דוגמה פשוטה יותר לשימוש בפסקל, מאחר והדוגמאות שיש לי (כניראה לא מעודכנות) לא עבדו עם הקישור ל gpc.

    ניתן לעקוף את הבדיקה האוטומתית ולא לייצר ולהתקין את הקישורים למרות ש fpc ו gpc קיימים, ע"י שימוש בדגלים ל configure
    –disabe-gpc
    –disable-fpc

    אם רוצים שהשינוי יהיה ברור למשתמשי דביאן יהיה צורך לשנות את שם החבילה מ
    libhdate-pascal ל fp-units-libhdate כדי שיהיה ברור עבור איזו ערכת פיתוח הקישור
    מיועד.

להשאיר תגובה

הזינו את פרטיכם בטופס, או לחצו על אחד מהאייקונים כדי להשתמש בחשבון קיים:

הלוגו של WordPress.com

אתה מגיב באמצעות חשבון WordPress.com שלך. לצאת מהמערכת / לשנות )

תמונת Twitter

אתה מגיב באמצעות חשבון Twitter שלך. לצאת מהמערכת / לשנות )

תמונת Facebook

אתה מגיב באמצעות חשבון Facebook שלך. לצאת מהמערכת / לשנות )

תמונת גוגל פלוס

אתה מגיב באמצעות חשבון Google+ שלך. לצאת מהמערכת / לשנות )

מתחבר ל-%s