LinuxForum.Fans
Тема

Sage программный комплекс математических расчетов

Автор: ormorph 5 сообщений 5821 просмотров
#17930

Программный комплекс математических расчетов sage
Всем привет получилось собрать sage-3.2 под x86 работает
так как у меня достаточно слабая машина, по этому особого интереса пересобирать по сто раз нет, главное что получилось, по этому выкладываю ебилд и пару патчей к нему, кому интересно может попробовать повозится.
На моей машине этот ебилд и патчи рабочие.

text
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

inherit eutils flag-o-matic fortran

DESCRIPTION="Math software for algebra, geometry, number theory, cryptography, and numerical computation." HOMEPAGE="http://www.sagemath.org" SRC_URI="http://www.sagemath.org/src-old/${P}.tar"

LICENSE="GPL-2" SLOT="0" KEYWORDS="~amd64 ~x86 ~ppc" IUSE=""

DEPEND=">=sys-devel/bison-2.3" RDEPEND=">=virtual/jre-1.4"

pkg_setup() { FORTRAN="gfortran" fortran_pkg_setup einfo "Sage itself is released under the GPL-2 _or later_ license" }

spkg_patch() { # This is so (at least) mpir will compile. ABI=32 if ( (use amd64) || (use ppc64)); then ABI=64 fi

# change to spkg dir cd "${S}/spkg/standard"

# untar spkg and and remove it tar -xjf "sage-3.2.spkg" rm "sage-3.2.spkg"

# apply patch epatch "${FILESDIR}"/sage-3.2.patch

# tar patched dir and remove it tar -cjf "sage-3.2.spkg" "sage-3.2" rm -rf "sage-3.2" # untar spkg and and remove it tar -xjf "clisp-2.46.p7.spkg" rm "clisp-2.46.p7.spkg" # apply patch epatch "${FILESDIR}"/clisp-2.46.p7.patch # tar patched dir and remove it tar -cjf "clisp-2.46.p7.spkg" "clisp-2.46.p7" rm -rf "clisp-2.46.p7" }

src_compile() { # This is so (at least) mpir will compile. ABI=32 if ( (use amd64) || (use ppc64)); then ABI=64 fi spkg_patch cd ${S} make || die "make failed" if ( grep "sage: An error occurred" "${S}/install.log" ); then die "make failed" fi }

src_install() { make DESTDIR="${D}/opt" install sed -i "s/SAGE_ROOT=.*\/opt/SAGE_ROOT=\"\/opt/" "${D}/opt/bin/sage" "${D}/opt/sage/sage" exeinto /opt/bin dosym /opt/sage/sage /opt/bin/sage

# Force sage to create files in new location. This has to be done twice - # this time to create the files for gentoo to correctly record as part of # the sage install "${D}/opt/sage/sage" -c quit }

pkg_postinst() { # make sure files are correctly setup in the new location by running sage as # root. This prevent nasty message to be presented to the user. /opt/sage/sage -c quit }

Ну и собственно хотелось бы узнать у кого нибудь это получится под 64 бита собрать?.

#17948

Вот ещё раз надо пнуть тех, кто добился того, что отменили карму. :(

#17974
Flaming написал:
Вот ещё раз надо пнуть тех, кто добился того, что отменили карму. :(

просто карма в рай не дает пройти, ее надо отрабатывать.

#17984

Надо же... 200 метров весит. %( Э-эх... Ну скачаю. Интересно глянуть. :)

#18092

Внимание! если на даннои пакете компиляция завершилась удачно, а при установке выдает предупреждение об ошибке, значит тестовая команда "${D}/opt/sage/sage" -c quit завершилась ошибкой
сам пакет при этом устанавливается нормально.

В этом случае следует выполнить следующие команды:

text
cd /opt/sage
rm spkg/installed/sage-3.2 &&make

данные команды позволят пересобрать только один пакет из програмного комплекса sage
пакет sage-3.2.spkg

данный пакет плохо реагирует на флаги компиляции, следовательно данная команда собирает пакет когда переменные CXXFLAGS и CFLAGS не заданны, то есть не привязанно к make.conf.

если кто то захочет зделать свой патч исправляющий ошибку, то нет проблем.
делается так: распаковывается архив из distfiles
из него берется пакет sage-3.2.spkg он находится в папке spkg/standard исходника

распаковываем tar xjf sage-3.2.spkg и создаем копию распакованого cp -rf sage-3.2 sage-3.2.orig
далее можем вносить все изменения в каталог sage-3.2 и по окончании создаем патч изменений.
diff -urN sage-3.2.orig sage-3.2 >sage-3.2.patch
после этого данный патч просто можно будет заменить в ебилде.

последняя поправка, в ебилде лучше заменить make на emake, для более качественной установки.
тем не менее пересборка после пакета sage-3.2.spkg в последствии все же может понадобится.
зато после пересборки можно уже создать бинарный готовый пакет.
уже достаточно часто менял параметры ебилда, по этому в том который выложил забыл заменить make на emake упс.



Ну и примечание для нормальной работы в режиме браузера команда sage -notebook должен быть установлен ява плагин для браузера libjavaplugin_oji.so скопировать в каталог /usr/lib/mozilla-firefox/plugins/

Войдите или зарегистрируйтесь, чтобы ответить.