אני יכול לומר שיש לי קצת ניסיון בבניית GNOME, כי זהו מחזור הפיתוח השני של GNOME שאני משתמש בו (בתור מערכת ראשית, אותהּ אני בונה מה־Git).
פעם גם בניתי חלק נכבד מ־GNOME על Windows (מה שהיה אפשר, גם מה שבאופן רשמי לא היה אפשרי).
אני מקווה שההודעה הזו תעזור לך.
באופן כללי, תצטרך לעדכן הכל. החל מ־harfbuzzת המשך ב־pango וב־gtk3 וכלה בכל יישומי GNOME.
למעשה, החל מ־fontconfig ו־freetype.
פחות או יותר:
ספריות הליבה, אותן אתה חייב לעדכן:
fontconfig ו־freetype, מטפלים בגופנים, אם אני זוכר טוב.
מעליהם יש את icu ואת harfbuzz.
מעליהם יש את cairo ואת pango (הראשון זה ספריה המטפלת בגרפיקה וקטורית והשני זה ספרייה לעיבוד גופנים).
מעליהם תצטרך את gdk-pixbuf.
לבניית שלוש הספריות האחרונות תצטרך, כמובן, לבנות את glib ואת pkg-config. רצוי שתבנה את gobject-introspection ולאחריו שוב את glib, ומשם והלאה תבנה את כל הספריות עם תמיכה ב־gobject-introspection.
מכאן אתה צריך את atk, ספרייה המטפלת בנגישות (תצטרך גם את at-spi2-core ואת at-spi2-atk).
מכאן אתה פשוט צריך לבנות את gtk3, וסיימת את החבילות הבסיסיות.
נראה לי שתצטרך לבנות גם את dbus-glib, אם אני זוכר טוב.
מכאן הכל קל. פשוט לבנות את חבילות הליבה של GNOME:
gnome-settings-daemon, gnome-desktop, gsettings-desktop-schemas, gnome-themes-standard, gnome-keyring, gnome-icon-theme, gnome-session.
נראה לי שתצטרך לבנות גם את cantarell-fonts (הגופנים האיכותיים של GNOME).
תצטרך לבנות גם את gcr, gjs, clutter, cogl, glib-networking, tracker.
מכאן אתה יכול לבנות את mutter, את gdm ואת gnome-shell ולהפעיל את האחרון.
החבילות הללו תספקנה לך מערכת GNOME ריקה מיישומים. תצטרך לבנות יישומים נוספים
המלצה שלי - אל תסתבך עם הוראות BLFS. תתייחס אליהן כהמלצות בלבד, ותשתמש בקבצי הבנייה של ארץ' (PKGBUILD). הכל נגיש ב־https://projects.archlinux.org/svntogit/packages.git/tree/. גם להן תתייחס כהמלצות. המלצות טובות יותר משל BLFS, אם אתה שואל אותי. עדכניות בהרבה. קהל עצום של משתמשים, בהשוואה ל־BLFS.
היתרון בארץ' זה שהם נמנעים ככל האפשר מהכנסת טלאים מיותרים. בארץ' אתה מקבל מערכת GNOME מקורית. נקייה מטלאים.
כמה הוראות כלליות:
כמו שכתבתי למעלה, תבנה את הכל עם תמיכה ב־gobject-introspection.
לכן תבנה את glib, את gobject-introspection ולאחר מכן שוב את glib עם תמיכה ב־gobject-introspection.
כדי לבנות עם תמיכה ב־gobject-introspection, הוסף ל־configure את הדגל --enable-introspection
מהרגע שתבנה את gsettings-desktop-schemas, חבילות עם תמיכה ב־gsettings לא תפעלנה לך כמו שצריך, אלא אם תריץ (לאחר sudo make install) את הפקודה הבאה:
קוד: |
glib-compile-schemas /usr/share/glib-2.0/schemas |
אחרי שתתקין חבילות המתקינות סמלים ב־/usr/share/icons, תצטרך להריץ פקודה לעדכון הסמלים:
קוד: |
gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor |
אחרי התקנת חבילה המתקינה קובץ יישום ־קובץ עם סיומת .desktop ב־/usr/share/applications/), תצטרך לעדכן את מסד הנתונים (משהו כזה) של היישומים המותקנים:
קוד: |
update-desktop-database -q |
בהצלחה.
במחשב שלי יש מעבד Intel® Core™ i7-3770 CPU @ 3.40GHz × 8. בניתי את כל GNOME בפחות מחצי שעה.
עם מחשב יותר אטי, זה עלול לקחת לך חצי יום.
חבילות הליבה של GNOME:
ftp://ftp.gnome.org/pub/GNOME/core/3.8/3.8.2/sources/
חבילות היישומים של GNOME:
ftp://ftp.gnome.org/pub/GNOME/apps/3.8/3.8.2/sources/
שוחררו הרבה גרסאות מעבר ל־3.8.2 (השחרור הרשמי האחרון).
תסתכל ברשימת התפוצה ftp-release-list:
https://mail.gnome.org/archives/ftp-release-list/