From owner-freebsd-ports@FreeBSD.ORG Fri Apr 3 15:50:22 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 C4625106566B; Fri, 3 Apr 2009 15:50:22 +0000 (UTC) (envelope-from amdmi3@amdmi3.ru) Received: from smtp.timeweb.ru (smtp.timeweb.ru [217.170.79.85]) by mx1.freebsd.org (Postfix) with ESMTP id 4C18E8FC1B; Fri, 3 Apr 2009 15:50:22 +0000 (UTC) (envelope-from amdmi3@amdmi3.ru) Received: from [213.148.20.85] (helo=hive.panopticon) by smtp.timeweb.ru with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.69) (envelope-from ) id 1Lplew-0005dk-Ta; Fri, 03 Apr 2009 19:50:23 +0400 Received: from hades.panopticon (hades.panopticon [192.168.0.32]) by hive.panopticon (Postfix) with ESMTP id 92B7A9EB0; Fri, 3 Apr 2009 19:50:25 +0400 (MSD) Received: by hades.panopticon (Postfix, from userid 1000) id B828C10883C; Fri, 3 Apr 2009 19:50:11 +0400 (MSD) Date: Fri, 3 Apr 2009 19:50:11 +0400 From: Dmitry Marakasov To: Alexander Churanov Message-ID: <20090403155011.GC60788@hades.panopticon> References: <3cb459ed0903270809s2da0fce7i66686a176d369931@mail.gmail.com> <20090331230246.GN1964@hades.panopticon> <20090401113857.GO1964@hades.panopticon> <3cb459ed0904020821u3051c572l6461274ae7ff118b@mail.gmail.com> <20090402224413.GV1964@hades.panopticon> <3cb459ed0904030632x215f1e3n25363903a80b5639@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <3cb459ed0904030632x215f1e3n25363903a80b5639@mail.gmail.com> User-Agent: Mutt/1.5.19 (2009-01-05) 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 15:50:23 -0000 * Alexander Churanov (alexanderchuranov@gmail.com) wrote: > There are 95 libraries in boost. Woo, that's sure too many. > 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. Yeah, I know that. > 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. There sure is a point. However I still don't like tearing the port in half based on some unpractical criteria. It resembles most linux distros' stupid way of splitting includes into separate packages too much :) If you devel with boost, you probably will need some of shared libraries sooner or later, so you will probably install the whole boost once to not waste time for lacking components later. What's for the users, I can see theoretical advantage - if many ports depend on header libs only, this part of boost will be installed fast without compiling anything. However, from my experience most ports still depend on shared libs, so this will not really bring anything good. Can you provide any statistics on how many ports will benefit of that? > 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'm for 2, but not against 1 if it brings more advantages than inconvenience. And there's another option between 1 and 3. 4) "jam", "docs", "source-libs" and N more, where N is up to number of shared libs installed by boost. For 1.37 there are 19, but some small/related ones may be merged (maybe math? for example, ubuntu has 13 packages for separate libs for boost 1.35 including python). It seem to be more logical than just source/shared ports as it will really fasten compilation by not building unneeded parts of boost, it's consistent with boost-python separation, it's somewhat transparent from the point of library names (i.e. if I want ${libname} I should use boost-${libname} if it exists, else just boost-other or how-do-we-name- it). The statistics on what ports use which boost libs, and build times for separate boost libs will really be useful. -- Dmitry Marakasov . 55B5 0596 FF1E 8D84 5F56 9510 D35A 80DD F9D2 F77D amdmi3@amdmi3.ru ..: jabber: amdmi3@jabber.ru http://www.amdmi3.ru