From owner-freebsd-ports@FreeBSD.ORG Fri Apr 3 13:32:32 2009 Return-Path: Delivered-To: ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 154A6106566B; Fri, 3 Apr 2009 13:32:32 +0000 (UTC) (envelope-from alexanderchuranov@gmail.com) Received: from mail-fx0-f167.google.com (mail-fx0-f167.google.com [209.85.220.167]) by mx1.freebsd.org (Postfix) with ESMTP id 4BB2F8FC18; Fri, 3 Apr 2009 13:32:30 +0000 (UTC) (envelope-from alexanderchuranov@gmail.com) Received: by fxm11 with SMTP id 11so953248fxm.43 for ; Fri, 03 Apr 2009 06:32:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=Ue3WKr/dKnpEMvzgm4kpC/OTrUO7Tha29mPB1G/j/tU=; b=tgd5+6PpVVgQctDwzFJVHQ0l7nRL0USIRc9Bc/kOseVA9WSVzc5TxjftMnwL17E2uy D3eJfzvfszh9PlwguLchudXVHtFiIJygMO91NwSjFpQag2Bto2HFzHqQ1jGxIeuoK3kd cIuqc5SmoFR2arKGtSdBxKv7rFqOAvlC+R/cU= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=hZh3faF7cp7CNfma2IUukz0b1fVfhdAlAd6grTH0v0uZAhjEfZsby6ZK/mam9MllmG +J9c3JT2YDd+82jDbmVINR77tg+LK/kuUpuOFPWvrBAH6WbLwXp6GSsmtBZQrpvPaHjn coSqttdfVTJPS8eLJZu3aNfm4K5x9WidmdlY8= MIME-Version: 1.0 Received: by 10.204.52.146 with SMTP id i18mr421453bkg.33.1238765549997; Fri, 03 Apr 2009 06:32:29 -0700 (PDT) In-Reply-To: <20090402224413.GV1964@hades.panopticon> References: <3cb459ed0903270809s2da0fce7i66686a176d369931@mail.gmail.com> <20090331230246.GN1964@hades.panopticon> <20090401113857.GO1964@hades.panopticon> <3cb459ed0904020821u3051c572l6461274ae7ff118b@mail.gmail.com> <20090402224413.GV1964@hades.panopticon> Date: Fri, 3 Apr 2009 17:32:29 +0400 Message-ID: <3cb459ed0904030632x215f1e3n25363903a80b5639@mail.gmail.com> From: Alexander Churanov To: Dmitry Marakasov Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: ports@freebsd.org, Jeremy Messenger , lwhsu@freebsd.org Subject: Re: Status of devel/boost upgrade X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Apr 2009 13:32:32 -0000 2009/4/3 Dmitry Marakasov : > Not sure if splitting it into many small libraries is a good idea. How > many are there, btw? Is it a port per libboost_*so, or per > include/boost/* ? Neither. Per the list of libraries: http://www.boost.org/doc/libs/1_38_0 There are 95 libraries in boost. Those that do not require compilation go into "source-libs" port: Accumulators, Any, Array, Asio, Assign, Bimap, Bind, Call Traits, Circular Buffer, Compatibility, Compressed Pair, Concept Check, Config, Conversion, CRC, Disjoint Sets, Dynamic Bitset, Enable If, Exception, Flyweight, Foreach, Format, Function, Function Types, Functional, Functional/Hash, Fusion, GIL, In Place Factory, Typed In Place Factory, Integer, Interprocess, Interval, Intrusive, IO State Savers, Iterators, Lambda, Math, Math Common Factor, Math Octonion, Math Quaternion, Math/Statistical Distributions, Member Function, Min-Max, MPL, Multi-Array, Multi-Index, Numeric Conversion, Operators, Optional, Parameter, Pointer Container, Pool, Preprocessor, Property Map, Proto, Random, Range, Rational, Ref, Scope Exit, Smart Ptr, Spirit, Statechart, Static Assert, String Algo, Swap, Timer, Tokenizer, TR1, Tribool, Tuple, Type Traits, Typeof, uBLAS, Units, Unordered, Utility, Value Initialized, Variant, Xpressive Others, that require compilation go into "shared-libs" port: Date Time, Filesystem, Graph, Iostreams, Math/Special Functions, MPI, Program Options, Python, Regex, Serialization, Signals, System, Test, Thread, Wave > Also splitting shared libs and source libs is a strange idea - there > will be confusion on which port does specific library belong and it > seems very likely that most boost-using ports will depend on both > ports. Let me explain that: Boost has source-only libraries and separately-compiled libraries. Source-only libraries consist of header files only and do not require any compilation at all. Separately-compiled libraries consist of BOTH header files and shared library objects. I often use source-libraries only. For example currently in a project at work I use "interprocess", "function", "smart ptr". Neither of them requires compilation. Hence the idea. I agree that for some users it will be harder to get to know what port contains certatin library. There are two solutions: 1) Read documentation: the "build & link" in each library description at http://www.boost.org/doc/libs/1_38_0 2) Explicitly list libraries in port long description > Boost-python is a must to be split into separate port because it > has an extra dependency, docs too, because not many people need > them, bjam, well, because it's a build tool I agree. So then the list of options is as follows: 1) "jam", "source-libs", "compiled-libs" (or "shared-libs"), "python-libs" and "docs" 2) "jam", "libs", "python-libs" and "docs" 3) "jam", "docs" and 95 ports more :-) I am not against the second option. However I'd like to also read comments of other boost users. Sincerely, Alexander Churanov, maintainer of devel/boost