حزمة لغة الأسس لمدير الحزم pacman

السلام عليكم انتهيت من إنشاء الحزمة , يمكنك الحصول عليها مباشرة من


طريقة التثبيت : sudo pacman -U /path/to/alusus-0.6.1-0-x86_64.pkg.tar.xz
او من aur
طريقة التثبيت : yay -S alusus
ولكن بناء الحزمة قد يستغرق ساعات , من الأفضل الحصول عليها من الخيار الأول

بعد التثبيت تجد مترجم لغة الأسس في /opt/Alusus/Bin/alusus

2 Likes

شكرا لك سليمان, بناء الأسس لـ arch واضافتها الى aur يسعدنا كثيرا

كنت افكر في بناء اللغة الى snap كـ Classic عن طريق snapcraft build مباشرة من Github
حاليا الفريق يعمل على توفير الدعم لبناء الأسس لنظام ويندوز وMac OS بجانب Linux

1 Like

وعليكم السلام ورحمة الله. رائع، شكرا لك.

كيف أنشأت هذه الحزمة وهل يمكننا ضمان إصدار حزم Arch مع كل إصدار؟ هل هناك سكريبت لبناء الحزمة؟ عذرا، معلوماتي بحزم Arch صفر.

1 Like

وعليكم السلام

نعم ممكن مادمت لم تغير طريقة البناء لكن انا لم استنسخ git لهذا يأتي بدون اصدار (استطيع تعديله بسهولة)

نعم https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=alusus

# Maintainer: suliman altassan <suliman.p2019@gmail.com>

pkgname=alusus
pkgver=0.6.1
pkgrel=0
pkgdesc="ALUSUS PROGRAMMING LANGUAGE - لغة الأسس البرمجية"
arch=('x86_64')
url="https://alusus.org/"
license=('custom')
depends=('python' 'python-pip')
source=('https://github.com/sulimanp/Alusus/archive/master.zip')
md5sums=('aece76ac530dafcd5561bd354d46ae05')

build() {
    cd "$srcdir/Alusus-master"
    ./Tools/build.sh --bloc . --iloc .
if [ -e "./Builds/Dependencies/llvm-10.0.0.install" ]; then
    cmake Sources -DCMAKE_BUILD_TYPE=release -DCMAKE_INSTALL_PREFIX="$pkgdir/opt/Alusus" -DLLVM_PATH=./Builds/Dependencies/llvm-10.0.0.install
    make -j $(nproc)
fi
}

package() {
    cd "$srcdir/Alusus-master" 
    make install -j $(nproc)
}

# ==> ERROR: One or more files did not pass the validity check!
# makepkg -g >> PKGBUILD

هل استطيع استخدام سكريبت Tools/build.sh باستثناء بناء لغة الأسس ؟ اي ان يعمل كل المطلوب إلا بناء اللغة ؟ لو كانت رخصة لغة الأسس تسمح بذلك لألقيت عليه نظرة , لكن رخصة الأسس لاتسمح بالتعديل مثل رخص البرمجيات الحرة

  • الحصول على اللغة مجاناً بصيغتيها المصدرية والرقمية واستخدامها لكتابة البرامج أياً كانت طبيعتها سواء كانت تجارية أو غير ذلك.
  • تعديل اللغة واستخدام النسخة المعدلة لكتابة البرامج أياً كانت طبيعتها سواء كانت تجارية أو غير ذلك.
  • إعادة نشر النسخة الأصلية غير المعدلة سواء بصيغتها الرقمية أو المصدرية. تمنع الرخصة نشر نسخ معدلة إلا بموافقة مسبقة من Alusus Software Ltd.

لماذا تريد بناء كل شيء باستثناء الأسس؟ إن كان الأمر ضروريا لتمكين البناء على arch فيمكنك تعديله بحيث يتجاهل بناء الأسس إذا وجد معطى معين. مثلا btype=depdendencies-- أو شيء من هذا القبيل وبعدها يمكنك تقديم PR بالتعديلات ونضيفها إلى المستودع الرئيسي.

كيف يتم تنفيذ هذا السكريبت؟ هل تنفذه من حاسوبك الشخصي أم أنه ينفذ في خوادم aur؟ وإن كان ينفذ في خوادم aur فكيف يتم إطلاقه؟

لو لاحظت يتم بناء لغة الأسس مرتين

 ./Tools/build.sh --bloc . --iloc .
if [ -e "./Builds/Dependencies/llvm-10.0.0.install" ]; then
    cmake Sources -DCMAKE_BUILD_TYPE=release -DCMAKE_INSTALL_PREFIX="$pkgdir/opt/Alusus" -DLLVM_PATH=./Builds/Dependencies/llvm-10.0.0.install
    make -j $(nproc)
fi
git clone https://aur.archlinux.org/alusus.git
cd alusus
makepkg

التنفيذ على حاسوبك، خوادم aur تستضيف السكريبت فقط ، ولو أصبح للحزمة شعبية شديدة تضاف إلى مستودعات المجتمع الرسمية لتوزيعة ارتش

لماذا تبني الأسس مرتين؟ ألا ينفع التالي؟

./Tools/build.sh --bloc . --iloc $pkgdir/opt/Alusus --btype r
1 Like

اوه ممتاز ، راح اجرب اذا كنت على الجهاز

اشكرك الأن اصبحت أفضل

# Maintainer: suliman altassan <suliman.p2019@gmail.com>

pkgname=alusus
pkgver=0.6.1
pkgrel=1
pkgdesc="ALUSUS PROGRAMMING LANGUAGE - لغة الأسس البرمجية"
arch=('x86_64')
url="https://alusus.org/"
license=('custom')
makedepends=('python' 'python-pip' 'cmake' 'git')

_gitroot="https://github.com/sulimanp/Alusus.git"
_gitname="Alusus"

build() {
  cd "$srcdir"
  msg "Connecting to GIT server...."

  if [[ -d "$_gitname" ]]; then
    cd "$_gitname" && git pull origin
    msg "The local files are updated."
  else
    git clone "$_gitroot" "$_gitname"
  fi

  cd "$srcdir/$_gitname"

  # BUILD HERE
	mkdir -p opt/Alusus
	./Tools/build.sh --bloc . --iloc opt/Alusus --btype r
}

package() {
  cd "$srcdir/$_gitname"
  cp -r "$srcdir/Alusus/opt/Alusus" "$pkgdir/opt/"
}
2 Likes