Комментарии 51
Мне MacPorts хватает чуть более чем полностью, а новый менеджер конечно хорошо что появился
У macports есть одна, но большая проблема. Уж очень он любит ставить левые зависимости, которые уже есть в системе (например zlib или openssl). Также порты делать сложнее чем сделать brew create. :)
И perl со всеми его штуками поверх стандартного системного.
Проблема не столько в этом, сколько в том, что большинство системных идет с дефектами/багами/недоработками. Типа PHP release candidate вместо финалки в Snow Leopard или отсутствия поддержки `select.poll` из коробочного питона.
Проблема частично решается правильной установкой переменных DYLD_LIBRARY_PATH, LD_LIBRARY_PATH и других. В настоящее время мы работаем над новой системой контроля зависимостей, более гибкой и удобной, чем в настоящий момент.
было бы неплохо пощупать :) ждем-с
Одна из основных причин, препятствующих развитию MacPorts — tcl. Из-за того, что язык не самый приятный, разработчики сторонятся проекта. Были попытки переписать/реализовать часть функциональности на Objective C или Ruby, но узкое место — portfiles. Портфайлы написаны на tcl, и без tcl-прослойки их прочитать или сконвертировать не так-то просто.
можно сделать macports 2.0 где портфайлы будут на том же руби, но оставить поддержку tcl (вроде как deprecated). я думаю что если так будет сделано, то портфайлы через некоторое время перепишут на руби. к тому же есть такая штку как ruby-tcl, она еще больше поможет с переходом
Да, именно к этому всё и идёт. Но пока не решен вопрос о том, какой язык использовать для ядра (ObjC или Ruby). У нас коммитеры делятся на ярых противников tcl и на ярых противников скриптовых языков :-)
скажите пожалуйста, Вы один из разработчиков MacPorts?
да.
Хотя сейчас больше WebKit для iPhone. (Mobile Safari dev team).
получается Вы работаете в Apple?
Верно. В данный момент удаленно, я ещё студент. Но сейчас оформляю документы, чтобы весной поехать в Cupertino.
скажите пожалуйста, а есть надежда, что когда-нибудь MacPort будут в OS X искаробки пакетным менеджером и все будет по-человечески?
MacPorts поддерживается Apple'ом, как и XQuartz, x11.app поставляется в комплекте с системой. Возможно, что он будет включен в основной набор. Однако, я не совсем понимаю, если вы говорите о тех проблемах с разными версиями библиотек, то тут нет какого-то универсального метода решения, так как многим библиотекам Mac OS X потребуются именно те версии ПО, которые поставляются. Как я уже говорил, MacPorts не пишет поверх системного ПО, поэтому достаточно подставлять нужные значения env переменных в определенных случаях, и всё будет хорошо.
ну вот смотрите. Сейчас у меня есть Leopard Server на PPC. Мне на нём нужен PHP с поддрежкой GD. Поскольку пакетного менеджера искаробки нет, то есть 2 варианта:
1. собирать php из исходников с поддержкой всего, что мне надо и замещать им стандартный
2. ставить MacPorts, через него устанавливать php5, php5-gd,… и потом прикручить его к стандартному Apache.
В Debian я бы просто набрал apt-get install php5-gd и никаких проблем.
1. собирать php из исходников с поддержкой всего, что мне надо и замещать им стандартный
2. ставить MacPorts, через него устанавливать php5, php5-gd,… и потом прикручить его к стандартному Apache.
В Debian я бы просто набрал apt-get install php5-gd и никаких проблем.
Apache тоже можно собрать нестандартный. В Debian так возможно, потому что нет бинарных компонентов, в случае OS X пользователь не может перекомпилировать компоненты системы под новые билиотеки. Но кстати, улучшенная поддержка модулей и компонентов для apache в Leopard Server это интересная идея.
К сожалению, лучше всего и апач и пхп ставить через MacPorts… То, что по умолчанию в Server версии Mac OS, меня не устраивает… Но тогда теряется возможность управления этим через красивую панельку управления Mac OS Server…
Нельзя ли как-то модифицировать GUI, чтобы им можно было управлять Apache'м (и другими компонентами), установленным через MacPorts?
Нельзя ли как-то модифицировать GUI, чтобы им можно было управлять Apache'м (и другими компонентами), установленным через MacPorts?
Более гибкая система включает в себя поддержку зависимостей с вариантами? Изменятся ли правила сборки расширений для различных скриптовых языков типа python2.x (наподобие python-central или python-support в Ubuntu)?
Зато при обновлении системы ничего гарантировано не отвалится.
Все менеджеры пакетов в Unix имеют определенные недостатки и большинство Linux-дистрибутивов пытаются по-разному эти недостатки обойти. начать с такого и никак не объяснить… моветон…
хм… brew update обновляет только «формулы».
т.е. обновился, например, git, нужно каждый раз это замечатать, на всякий случай смотреть brew info git и делать brew install git заново?
т.е. обновился, например, git, нужно каждый раз это замечатать, на всякий случай смотреть brew info git и делать brew install git заново?
sudo chown -R `whoami` /usr/local
вот таким советчикам надо руки отрубать. Я знаю, что так в FAQ написано, но не в инструкции как установить, а в совете как перестать использовать sudo.
вот таким советчикам надо руки отрубать. Я знаю, что так в FAQ написано, но не в инструкции как установить, а в совете как перестать использовать sudo.
ну это там и указано. именно в факе, на гитхабе.
>Звучит неплохо. Как это установить?
>sudo chown -R `whoami` /usr/local
vs
> Installation
> mkdir homebrew
> curl -L github.com/mxcl/homebrew/tarball/master | tar xz --strip 1 -C homebrew
vs
>But… don't sudo!
>sudo chown -R `whoami` /usr/local
у меня все установлено в ~/.homebrew я единственный пользователь которому это надо => для меня не проблема установить в свой домашний каталог только для себя. А портить пермишены, чтобы любая обезьяна попав на мой компьютер могла исполнять все системные бинарники без sudo? нет уж.
>sudo chown -R `whoami` /usr/local
vs
> Installation
> mkdir homebrew
> curl -L github.com/mxcl/homebrew/tarball/master | tar xz --strip 1 -C homebrew
vs
>But… don't sudo!
>sudo chown -R `whoami` /usr/local
у меня все установлено в ~/.homebrew я единственный пользователь которому это надо => для меня не проблема установить в свой домашний каталог только для себя. А портить пермишены, чтобы любая обезьяна попав на мой компьютер могла исполнять все системные бинарники без sudo? нет уж.
я все-таки еще не очень понял, так этот Homebrew сам прослеживает какие программе нужны зависимости, и в случае необходимости, установит их сам?
это написано в специальных файлах-формулах (что-то вроде portfile в macports) — github.com/mxcl/homebrew/tree/master/Library/Formula/
Немного оффтоп. У кого-нибудь получилось для MC 7 формулу написать? Два дня бился, собирается но после запуска segfault и все тут.
Я вот такую формулу использую, запускается на 10.6.2 нормально
require 'formula'
class Mc <Formula
url 'http://www.midnight-commander.org/downloads/34'
md5 '5bd69a47b4a0bd6904623a50863b1eeb'
homepage 'http://www.midnight-commander.org/'
version '4.7.1'
depends_on 'glib'
def install
system "./configure", "--prefix=#{prefix}", "--disable-debug", "--disable-dependency-tracking", "--with-screen=ncurses"
system «make install»
end
end
require 'formula'
class Mc <Formula
url 'http://www.midnight-commander.org/downloads/34'
md5 '5bd69a47b4a0bd6904623a50863b1eeb'
homepage 'http://www.midnight-commander.org/'
version '4.7.1'
depends_on 'glib'
def install
system "./configure", "--prefix=#{prefix}", "--disable-debug", "--disable-dependency-tracking", "--with-screen=ncurses"
system «make install»
end
end
Сорри, плохо получилось. Вот сылка на gist
gist.github.com/332038
gist.github.com/332038
Расскажите кто-нибудь, как установить эти Developer Tools через командную строку, пожалуйста.
Кстати, вот неплохой материал про Homebrew, с примерами и чуть более современный :)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Homebrew: Менеджер пакетов для OS X