diff options
author | mi <mi@FreeBSD.org> | 2007-08-20 00:50:23 +0800 |
---|---|---|
committer | mi <mi@FreeBSD.org> | 2007-08-20 00:50:23 +0800 |
commit | dd6d1f2983f8b0cf7aefc969d7f993fe70cf1916 (patch) | |
tree | eb37b68d4c8cd3f093d53523467968c26261885c /graphics/vips/Makefile | |
parent | fdae7fa6c16c32247c01fc1706880e64c67f1b41 (diff) | |
download | freebsd-ports-gnome-dd6d1f2983f8b0cf7aefc969d7f993fe70cf1916.tar.gz freebsd-ports-gnome-dd6d1f2983f8b0cf7aefc969d7f993fe70cf1916.tar.zst freebsd-ports-gnome-dd6d1f2983f8b0cf7aefc969d7f993fe70cf1916.zip |
Unbreak and update the two ports to the latest version of 7.12.4.
Take over maintainership temporarily upon request from the software's
author(s), who were unable to reach the previous maintainer.
In both:
- use explict --mandir=${PREFIX}/man to avoid man-pages getting
into ${PREFIX}/shared/man incorrectly
- deal with the NOPORTDOCS situation by simply not-extracting
the extra documentation from the distribution tarball
- parallelize the build to scale with the number of CPUs
In vips:
- move the (giant) list of man-pages into a separate Makefile.man
- turn the pages, which contain only `.so other-page', into
MANLINKS (specified in Makefile.man)
- provide a "maintainance target" to regenerate the Makefile.man
during the next upgrade
- do not install the HTML-ized versions of man-pages
- create OPTIONS for use of devel/liboil and graphics/ImageMagick
(OPTION to use PYTHON awaits portmgr's decision/action)
In nip2:
- do install the HTML pages regardless of NOPORTDOCS -- these
are accessible to the user through the application GUI
- arrange for update-mime-database and update-desktop-database
to be run upon install (@exec) and uninstall (@unexec)
- LIB_DEPEND on math/gsl, which nip2 can use for extra functionality
These ports are in need of a dedicated maintainer.
Approved by: maintainer timeout
Diffstat (limited to 'graphics/vips/Makefile')
-rw-r--r-- | graphics/vips/Makefile | 202 |
1 files changed, 59 insertions, 143 deletions
diff --git a/graphics/vips/Makefile b/graphics/vips/Makefile index 33099073eac6..48ab2376270b 100644 --- a/graphics/vips/Makefile +++ b/graphics/vips/Makefile @@ -6,169 +6,85 @@ # PORTNAME= vips -PORTVERSION= 7.10.21 -PORTREVISION= 1 +PORTVERSION= 7.12.4 CATEGORIES= graphics -MASTER_SITES= http://www.vips.ecs.soton.ac.uk/vips-7.10/ +MASTER_SITES= http://www.vips.ecs.soton.ac.uk/vips-${PORTVERSION:R}/ -MAINTAINER= lev@FreeBSD.org +MAINTAINER= mi@aldan.algebra.com COMMENT= Free image processing system +OPTIONS= MAGICK "Use ImageMagick for more image-types" ${IMPRESENT} +OPTIONS+= LIBOIL "Use liboil for CPU-optimized primitives" on +# Making Python a proper option awaits portmgr's resolving the current +# chicken-and-egg problem of OPTIONS vs. USE_* knobs +#OPTIONS+= PYTHON "Create Python bindings" ${PYPRESENT} + BUILD_DEPENDS= ${SITE_PERL}/${PERL_ARCH}/XML/Parser.pm:${PORTSDIR}/textproc/p5-XML-Parser LIB_DEPENDS= fftw3:${PORTSDIR}/math/fftw3 \ jpeg:${PORTSDIR}/graphics/jpeg \ tiff:${PORTSDIR}/graphics/tiff \ + Iex:${PORTSDIR}/graphics/OpenEXR \ png:${PORTSDIR}/graphics/png \ lcms:${PORTSDIR}/graphics/lcms +IMPRESENT!= which mogrify > /dev/null && echo on || echo off +PYPRESENT!= which python > /dev/null && echo on || echo off USE_GMAKE= yes USE_GETTEXT= yes USE_PERL5_BUILD= yes USE_GNOME= gnomehack glib20 pkgconfig pango USE_AUTOTOOLS= libtool:15 USE_LDCONFIG= yes +ALL_TARGET= -j`${SYSCTL} -n hw.ncpu` +.if defined(NOPORTDOCS) +# Don't extract doc/ subdirectory - the simplest way: +EXTRACT_AFTER_ARGS= | ${TAR} -xpf - --exclude doc +post-install: + ${RMDIR} ${DOCSDIR} +.else +# Don't extract html-ized man-pages in either case: +EXTRACT_AFTER_ARGS= | ${TAR} -xpf - --exclude doc/html/man +.endif +PLIST_SUB+= VERSION=${PORTVERSION:R} -CONFIGURE_ARGS= --without-magick --without-x +CONFIGURE_ARGS= --without-x --mandir=${PREFIX}/man -MAN1= batch_crop.1 batch_image_convert.1 \ - batch_rubber_sheet.1 binfile.1 cooc.1 cooc_features.1 \ - debugim.1 edvips.1 glds.1 glds_features.1 header.1 \ - light_correct.1 printlines.1 simcontr.1 \ - sines.1 squares.1 vdump.1 vips.1 +# This is used to generate the list of man-pages and MLINKS. It +# looks through the available man-pages and filters out those, +# which consist of ``.so another/page''. Instead of installing +# these stubs, we handle them as MLINKS. +# Only use this target, if upgrading the port. +.PHONY: Makefile.man +Makefile.man: + @${ECHO_MSG} "# This file is auto-generated" > $@ + ${FIND} ${WRKSRC} -name '*.[13]' | ${XARGS} ${AWK} ' \ + /\.so/ { \ + page=substr($$2, 6, 100); \ + sub(".*/", "", FILENAME); \ + print "MLINKS+=\t" page "\t" FILENAME; \ + nextfile; \ + } { \ + sub(".*/", "", FILENAME); \ + ext = FILENAME; \ + sub(".*\\.", "", ext); \ + print "MAN" ext "+=\t" FILENAME; \ + nextfile; \ + }' >> $@ -MAN3= IM_ARRAY.3 IM_IMAGE_ADDR.3 IM_IMAGE_N_ELEMENTS.3 \ - IM_IMAGE_SIZEOF_ELEMENT.3 IM_IMAGE_SIZEOF_LINE.3 \ - IM_IMAGE_SIZEOF_PEL.3 IM_MAX.3 IM_MIN.3 IM_NEW.3 IM_NUMBER.3 \ - IM_RECT_BOTTOM.3 IM_RECT_HCENTRE.3 IM_RECT_RIGHT.3 \ - IM_RECT_VCENTRE.3 IM_REGION_ADDR.3 IM_REGION_LSKIP.3 \ - IM_REGION_N_ELEMENTS.3 IM_REGION_SIZEOF_LINE.3 IM_RINT.3 \ - error_exit.3 im_BandFmt2char.3 im_Coding2char.3 \ - im_Compression2char.3 im_LCh2Lab.3 im_LCh2UCS.3 im_Lab2LCh.3 \ - im_Lab2LabQ.3 im_Lab2LabS.3 im_Lab2UCS.3 im_Lab2XYZ.3 \ - im_Lab2disp.3 im_LabQ2Lab.3 im_LabQ2LabS.3 im_LabQ2XYZ.3 \ - im_LabQ2disp.3 im_LabQ2disp_build_table.3 im_LabQ2disp_table.3 \ - im_LabS2Lab.3 im_LabS2LabQ.3 im_Type2char.3 im_UCS2LCh.3 \ - im_UCS2Lab.3 im_UCS2XYZ.3 im_XYZ2Lab.3 im_XYZ2UCS.3 \ - im_XYZ2Yxy.3 im_XYZ2disp.3 im_XYZ2sRGB.3 im_Yxy2XYZ.3 im_abs.3 \ - im_acostra.3 im_add.3 im_add_close_callback.3 \ - im_add_eval_callback.3 im_add_evalend_callback.3 \ - im_addgnoise.3 im_affine.3 im_allocate_input_array.3 \ - im_amiMSBfirst.3 im_and_vec.3 im_andconst.3 im_andimage.3 \ - im_append_Hist.3 im_asintra.3 im_atantra.3 im_avg.3 \ - im_bandjoin.3 im_binfile.3 im_black.3 im_blend.3 im_c2amph.3 \ - im_c2imag.3 im_c2ps.3 im_c2real.3 im_c2rect.3 im_cache.3 \ - im_ceil.3 im_char2BandFmt.3 im_char2Coding.3 \ - im_char2Compression.3 im_char2Type.3 im_circle.3 im_clip.3 \ - im_clip2c.3 im_clip2cm.3 im_clip2d.3 im_clip2dcm.3 im_clip2f.3 \ - im_clip2fmt.3 im_clip2i.3 im_clip2s.3 im_clip2ui.3 \ - im_clip2us.3 im_close.3 im_cmulnorm.3 im_cntlines.3 \ - im_col_C2Cucs.3 im_col_Ch2ab.3 im_col_Ch2hucs.3 \ - im_col_Chucs2h.3 im_col_Cucs2C.3 im_col_L2Lucs.3 \ - im_col_Lab2XYZ.3 im_col_Lucs2L.3 im_col_XYZ2Lab.3 \ - im_col_XYZ2rgb.3 im_col_ab2Ch.3 im_col_dECMC.3 \ - im_col_display.3 im_col_make_tables_RGB.3 \ - im_col_make_tables_UCS.3 im_col_pythagoras.3 im_col_rgb2XYZ.3 \ - im_compass.3 im_conv.3 im_conv_raw.3 im_convf.3 im_convf_raw.3 \ - im_convsep.3 im_convsep_raw.3 im_convsepf.3 im_convsepf_raw.3 \ - im_convsub.3 im_cooc_asm.3 im_cooc_contrast.3 \ - im_cooc_correlation.3 im_cooc_entropy.3 im_cooc_matrix.3 \ - im_copy.3 im_copy_set.3 im_copy_swap.3 im_correl.3 im_costra.3 \ - im_cp_desc.3 im_create_dmask.3 im_create_fmask.3 \ - im_create_imask.3 im_dE00_fromLab.3 im_dECMC_fromLab.3 \ - im_dECMC_fromdisp.3 im_dE_fromLab.3 im_dE_fromXYZ.3 \ - im_dE_fromdisp.3 im_debugim.3 im_demand_hint.3 \ - im_demand_hint_array.3 im_deviate.3 im_diag.3 im_dif_std.3 \ - im_dilate.3 im_dilate_raw.3 im_disp2Lab.3 im_disp2XYZ.3 \ - im_disp_ps.3 im_divide.3 im_dup_dmask.3 im_dup_imask.3 \ - im_embed.3 im_eor_vec.3 im_eorconst.3 im_eorimage.3 im_equal.3 \ - im_equal_vec.3 im_equalconst.3 im_erode.3 im_erode_raw.3 \ - im_error.3 im_error_buffer.3 im_error_clear.3 im_exp10tra.3 \ - im_expntra.3 im_expntra_vec.3 im_exptra.3 im_extract.3 \ - im_extract_area.3 im_extract_band.3 im_extract_bands.3 \ - im_eye.3 im_falsecolour.3 im_fastcor.3 im_fastline.3 \ - im_fastlineuser.3 im_fav4.3 im_feye.3 im_fgrey.3 im_fliphor.3 \ - im_flipver.3 im_flood.3 im_flood_blob.3 im_floor.3 \ - im_flt_imag_freq.3 im_fractsurf.3 im_free.3 im_free_dmask.3 \ - im_free_imask.3 im_freqflt.3 im_fwfft.3 im_fzone.3 im_gadd.3 \ - im_gaddim.3 im_gammacorrect.3 im_gauss_dmask.3 \ - im_gauss_imask.3 im_gaussnoise.3 im_gbandjoin.3 im_generate.3 \ - im_gfadd.3 im_glds_asm.3 im_glds_contrast.3 im_glds_entropy.3 \ - im_glds_matrix.3 im_glds_mean.3 im_global_balance.3 \ - im_global_balance_float.3 im_gradient.3 im_grey.3 \ - im_guess_prefix.3 im_header.3 im_header_double.3 \ - im_header_int.3 im_header_string.3 im_heq.3 im_hist.3 \ - im_histcum.3 im_histeq.3 im_histgr.3 im_histlin.3 im_histnD.3 \ - im_histnorm.3 im_histplot.3 im_histspec.3 im_hsp.3 \ - im_icc_ac2rc.3 im_icc_export.3 im_icc_export_depth.3 \ - im_icc_import.3 im_icc_present.3 im_icc_transform.3 \ - im_identity.3 im_identity_ushort.3 im_ifthenelse.3 im_image.3 \ - im_image_sanity.3 im_incheck.3 im_init.3 im_initdesc.3 \ - im_insert.3 im_insertplace.3 im_invert.3 im_invertlut.3 \ - im_invfft.3 im_invfftr.3 im_iocheck.3 im_isMSBfirst.3 \ - im_iscomplex.3 im_isfile.3 im_isfloat.3 im_isint.3 im_isjpeg.3 \ - im_ispartial.3 im_ispng.3 im_isppm.3 im_istiff.3 \ - im_istifftiled.3 im_isuint.3 im_isvips.3 im_iterate.3 \ - im_jpeg2vips.3 im_jpeg2vips_header.3 im_lab_morph.3 im_less.3 \ - im_less_vec.3 im_lessconst.3 im_lesseq.3 im_lesseq_vec.3 \ - im_lesseqconst.3 im_lhisteq.3 im_lhisteq_raw.3 im_lindetect.3 \ - im_line.3 im_lintra.3 im_lintra_vec.3 im_list_add.3 \ - im_list_append.3 im_list_eq.3 im_list_fix.3 im_list_fold.3 \ - im_list_free.3 im_list_index.3 im_list_insert.3 im_list_len.3 \ - im_list_map.3 im_list_map_rev.3 im_list_member.3 im_list_pos.3 \ - im_list_remove.3 im_litecor.3 im_log10tra.3 im_log_dmask.3 \ - im_log_imask.3 im_logtra.3 im_lowpass.3 im_lrjoin.3 \ - im_lrmerge.3 im_lrmosaic.3 im_magick2vips.3 \ - im_magick2vips_header.3 im_make_xy.3 im_makerw.3 im_malloc.3 \ - im_maplut.3 im_mask2vips.3 im_matcat.3 im_match_linear.3 \ - im_match_linear_search.3 im_matinv.3 im_matmul.3 im_mattrn.3 \ - im_max.3 im_maxpos.3 im_maxvalue.3 im_mean_std_double_buffer.3 \ - im_mean_std_int_buffer.3 im_measure.3 im_min.3 im_minpos.3 \ - im_mmapin.3 im_mmapinrw.3 im_more.3 im_more_vec.3 \ - im_moreconst.3 im_moreeq.3 im_moreeq_vec.3 im_moreeqconst.3 \ - im_mpercent.3 im_multiply.3 im_notequal.3 im_notequal_vec.3 \ - im_notequalconst.3 im_offsets45.3 im_offsets90.3 im_open.3 \ - im_open_local.3 im_open_local_array.3 im_openout.3 im_or_vec.3 \ - im_orconst.3 im_orimage.3 im_outcheck.3 im_paintrect.3 \ - im_partial.3 im_pincheck.3 im_piocheck.3 im_plotmask.3 \ - im_plotpoint.3 im_png2vips.3 im_png2vips_header.3 \ - im_poutcheck.3 im_powtra.3 im_powtra_vec.3 im_ppm2vips.3 \ - im_ppm2vips_header.3 im_prepare.3 im_prepare_to.3 im_print.3 \ - im_print_dmask.3 im_print_imask.3 im_printdesc.3 im_printhd.3 \ - im_printlines.3 im_profile.3 im_quantim.3 im_quantlut.3 \ - im_rank.3 im_rank_image.3 im_read_dmask.3 im_read_imask.3 \ - im_readpoint.3 im_recomb.3 im_rect_dup.3 im_rect_equalsrect.3 \ - im_rect_includespoint.3 im_rect_includesrect.3 \ - im_rect_intersectrect.3 im_rect_isempty.3 \ - im_rect_marginadjust.3 im_rect_normalise.3 im_rect_unionrect.3 \ - im_region_create.3 im_region_free.3 im_region_image.3 \ - im_region_local.3 im_region_position.3 im_region_region.3 \ - im_remainder.3 im_remainderconst.3 im_remosaic.3 im_render.3 \ - im_render_fade.3 im_replicate.3 im_ri2c.3 im_rint.3 \ - im_rot180.3 im_rot270.3 im_rot90.3 im_rotate_dmask45.3 \ - im_rotate_dmask90.3 im_rotate_imask45.3 im_rotate_imask90.3 \ - im_rotquad.3 im_sRGB2XYZ.3 im_scale.3 im_scale_dmask.3 \ - im_scaleps.3 im_setbuf.3 im_setupout.3 im_sharpen.3 \ - im_shiftleft.3 im_shiftright.3 im_shrink.3 im_sign.3 \ - im_simcontr.3 im_similarity.3 im_similarity_area.3 im_sines.3 \ - im_sintra.3 im_slice.3 im_smear.3 im_smudge.3 im_spatres.3 \ - im_spcor.3 im_start_many.3 im_start_one.3 im_stats.3 \ - im_stdif.3 im_stop_many.3 im_stop_one.3 im_stretch3.3 \ - im_subsample.3 im_subtract.3 im_system.3 im_tantra.3 \ - im_tbjoin.3 im_tbmerge.3 im_tbmosaic.3 im_text.3 im_thresh.3 \ - im_tiff2vips.3 im_tiff2vips_header.3 im_tone_analyse.3 \ - im_tone_build.3 im_tone_map.3 im_updatehist.3 im_verror.3 \ - im_version.3 im_version_string.3 im_video_v4l1.3 \ - im_vips2bufjpeg.3 im_vips2jpeg.3 im_vips2mask.3 \ - im_vips2mimejpeg.3 im_vips2png.3 im_vips2ppm.3 im_vips2tiff.3 \ - im_warn.3 im_wrapmany.3 im_wrapone.3 im_write_dmask.3 \ - im_write_dmask_name.3 im_write_imask.3 im_write_imask_name.3 \ - im_writeline.3 im_zerox.3 im_zone.3 im_zoom.3 +.include "Makefile.man" -post-patch: - @${RM} ${WRKSRC}/po/malkovich.po -.if defined(NOPORTDOCS) - @${REINPLACE_CMD} '217D' ${WRKSRC}/Makefile.in - @${REINPLACE_CMD} '682,684s/^/#/' ${WRKSRC}/Makefile.in +.include <bsd.port.pre.mk> + +.if defined(WITH_MAGICK) +LIB_DEPENDS+= Magick:${PORTSDIR}/graphics/ImageMagick +.else +CONFIGURE_ARGS+= --without-magick +.endif + +.if defined(WITH_LIBOIL) +LIB_DEPENDS+= oil:${PORTSDIR}/devel/liboil +.else +CONFIGURE_ARGS+= --without-liboil .endif -.include <bsd.port.mk> +.include <bsd.port.post.mk> |