Meson kullanarak Budgie uygulamalarını derleme

Meson kullanarak Budgie uygulamalarını derleme

Giriş

Bu ders içerik olarak Budgie masaüstü uygulamalarını derlemek dersinin aynısıdır.

Ancak kolay bir şekilde Meson kullanarak nasıl Budgie uygulamalarının derlenebileceği anlatılmaya çalışılmıştır.

Budgie uygulama dizini

Budgie uygulamalarını, tüm kullanıcılar için /usr/lib/budgie-desktop/plugins dizininde, tek bir kullanıcı için ise ~/.local/share/budgie-desktop/plugins dizininde oluşturmak gerekiyor.

Sınamalarımıza göre /usr/local/lib/budgie-desktop/plugins/ dizininde de uygulama oluşturulabiliyor.

Bir Budgie uygulaması, Vala için *.so uzantılı paylaşılan bir kütüphane ve *.plugin uzantılı bir eklentiden oluşuyor.

Budgie uygulamasının bir parçası olacak şekilde arzu edersek pencereli bir Gtk uygulaması da geliştirebiliriz.

Arka planda çalışan Budgie uygulaması, pencereli uygulamayı çağırabilir.

Meson ile Budgie uygulamalarını derleme

Öncelikle bu ders için uygulamanın kaynak kodunu indiriniz.

Ana dizindeki meson.build isimli Meson kütüğüne baktığımızda bazı değişken tanımlamaları görebilirsiniz.

project('selam', 'vala', 'c')

gnome = import('gnome')

uygulamaIsmi = meson.project_name()

kok = get_option('prefix')

message('Kök dizini = ' + kok)

kutuphaneDizini = join_paths(kok, get_option('libdir'))

message('Kütüphane dizini = ' + kutuphaneDizini)

kurulumDizini = join_paths(kutuphaneDizini, 'budgie-desktop', 'plugins', 'selam')

message('Kurulum dizini = ' + kurulumDizini)

subdir('kaynak')

Bunlardan en önemlilerinden bir tanesi prefix kelimesi ile gösterilen kök dizinidir.

Meson kurulum betiğini aşağıdaki gibi çalıştıralım.

 meson setup oluştur

Burada bu değişkenlerin ekrana yazıldığını görebiliriz.

Message: Kök dizini = /usr/local
Message: Kütüphane dizini = /usr/local/lib
Message: Kurulum dizini = /usr/local/lib/budgie-desktop/plugins/selam

Eğer istersek derleme dizini sildikten sonra farklı bir kök dizini belirtebiliriz.

rm -rf oluştur/
meson setup --prefix=/usr oluştur

Değişkenlerin ve dolayısıyla kurulum dizininin değiştiğini görebilirsiniz.

Message: Kök dizini = /usr
Message: Kütüphane dizini = /usr/lib
Message: Kurulum dizini = /usr/lib/budgie-desktop/plugins/selam

join_paths isimli işlev ise farklı dizinleri birleştiriyor.

Alt dizine geçmek için subdir komutunu kullanıyoruz.

kaynak isimli dizine geçtiğimizde ise meson.build ismi ile bir meson kütüğü olduğunu görebiliriz.

İçeriği sadece aşağıdaki gibidir.

subdir ('selam')

Yani selam dizinine geç diyor.

Neden böyle yaptığımız düşünülebilir.

Nedenine gelince selam dizininde sadece geliştirmek istediğimiz Budgie uygulamasının kaynak kodları olabilir.

İleride örneğin selamla isimli bir Gtk masa üstü uygulaması geliştirmek istediğimizi düşünelim.

Dizinleri ayırarak, geliştirme işini büyük ölçüde birbirinden bağımsız hale getirmek isteyebiliriz.

Tekrar selam dizinine geçtiğimizde temel meson kütüğünü meson.build ismi ile bulabiliriz.

install_data(
    'Selam_.plugin',
    install_dir: kurulumDizini
)

gerekliPaketler = [
                    dependency('glib-2.0'),
                    dependency('gobject-2.0'),
                    dependency('gtk+-3.0'),
                    dependency('budgie-1.0')
]

shared_library('selam',
               'selam.vala',
               dependencies: gerekliPaketler,
               install: true,
               install_dir: kurulumDizini)

install_data komutu eklenti kütüğünü belirttiğimiz kurulum dizinine kuruyor.

Bu komutla çalıştırılabilir kabuk betiklerini de kurabiliriz.

En alttaki shared_library anahtar kelimesi müşterek bir kütüphane üretmek istediğimizi belirtiyor.

Vala ile müşterek ortak kütüphane oluşturmak için bu derse bakabilirsiniz.

Uygulamanın kaynak kodu

Uygulamanın kaynağını buradan indirebilirsiniz.

Eğer git kullanarak indirmek indirmek isterseniz

git clone https://codeberg.org/erdem/rizeden.git --branch Ders9

komutu ile bu dersi indirebilirsiniz.

Dersi derleyip sınamak

rizeden dizinin içine giriniz.

cd rizeden

Öncelikle derleme yapacağımız dizini oluşturuyoruz.

meson setup oluştur

Sonra bu oluşturduğumuz dizine girelim.

cd oluştur/

Burada uygulamayı derleyip kurmak için

sudo ninja install

komutunu verebilirsiniz.

Uygulamayı kaldırmak için aynı dizinin içinde

sudo ninja uninstall

komutu vermek yeterlidir.

Eklentiyi tanıtmak

Eklentiyi tanıtmak için aşağıdaki komutu verelim.

budgie-panel --replace &

Eğer bir hata vermezse eklentimiz kurulacaktır.

Eklentiyi etkinleştirmek için bu bölümü okuyunuz.

Yorumlar

yorum yaz

Yorum yaz

Henüz yorum yok.