123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224 |
- SUBDIR += accessibility
- SUBDIR += arabic
- SUBDIR += archivers
- SUBDIR += astro
- SUBDIR += audio
- SUBDIR += benchmarks
- SUBDIR += biology
- SUBDIR += cad
- SUBDIR += chinese
- SUBDIR += comms
- SUBDIR += converters
- SUBDIR += databases
- SUBDIR += deskutils
- SUBDIR += devel
- SUBDIR += dns
- SUBDIR += editors
- SUBDIR += emulators
- SUBDIR += finance
- SUBDIR += french
- SUBDIR += ftp
- SUBDIR += games
- SUBDIR += german
- SUBDIR += graphics
- SUBDIR += hebrew
- SUBDIR += hungarian
- SUBDIR += irc
- SUBDIR += japanese
- SUBDIR += java
- SUBDIR += korean
- SUBDIR += lang
- SUBDIR += mail
- SUBDIR += math
- SUBDIR += misc
- SUBDIR += multimedia
- SUBDIR += net
- SUBDIR += net-im
- SUBDIR += net-mgmt
- SUBDIR += net-p2p
- SUBDIR += news
- SUBDIR += polish
- SUBDIR += ports-mgmt
- SUBDIR += portuguese
- SUBDIR += print
- SUBDIR += russian
- SUBDIR += science
- SUBDIR += security
- SUBDIR += shells
- SUBDIR += sysutils
- SUBDIR += textproc
- SUBDIR += ukrainian
- SUBDIR += vietnamese
- SUBDIR += www
- SUBDIR += x11
- SUBDIR += x11-clocks
- SUBDIR += x11-drivers
- SUBDIR += x11-fm
- SUBDIR += x11-fonts
- SUBDIR += x11-servers
- SUBDIR += x11-themes
- SUBDIR += x11-toolkits
- SUBDIR += x11-wm
- PORTSTOP= yes
- .include <bsd.port.subdir.mk>
- index: ${INDEXDIR}/${INDEXFILE}
- INDEX_COMPRESSION_FORMAT?= xz
- .if ${INDEX_COMPRESSION_FORMAT} != xz && \
- ${INDEX_COMPRESSION_FORMAT} != bz2 && ${INDEX_COMPRESSION_FORMAT} != zst
- .error "Invalid compression format: ${INDEX_COMPRESSION_FORMAT}, expecting xz, bz2 or zst"
- .endif
- fetchindex: ${INDEXDIR}/${INDEXFILE}.${INDEX_COMPRESSION_FORMAT}
- @if bsdcat < ${INDEXDIR}/${INDEXFILE}.${INDEX_COMPRESSION_FORMAT} > ${INDEXDIR}/${INDEXFILE}.tmp ; then \
- chmod a+r ${INDEXDIR}/${INDEXFILE}.tmp; \
- ${MV} ${INDEXDIR}/${INDEXFILE}.tmp ${INDEXDIR}/${INDEXFILE}; \
- ${RM} ${INDEXDIR}/${INDEXFILE}.${INDEX_COMPRESSION_FORMAT} \
- else ; \
- ${RM} ${INDEXDIR}/${INDEXFILE}.tmp ; \
- fi
- ${INDEXDIR}/${INDEXFILE}.${INDEX_COMPRESSION_FORMAT}: .PHONY
- ${FETCHINDEX} ${INDEXDIR}/${INDEXFILE}.${INDEX_COMPRESSION_FORMAT} \
- ${MASTER_SITE_INDEX}${INDEXFILE}.${INDEX_COMPRESSION_FORMAT}
- MASTER_SITE_INDEX?= https://download.FreeBSD.org/ports/index/
- SETENV?= /usr/bin/env
- FETCHINDEX?= ${SETENV} ${FETCH_ENV} fetch -am -o
- .if !defined(INDEX_JOBS)
- INDEX_JOBS!= ${SYSCTL} -n kern.smp.cpus
- .endif
- .if !defined(INDEX_VERBOSE)
- INDEX_ECHO_MSG= true
- INDEX_ECHO_1ST= echo -n
- .else
- INDEX_ECHO_MSG= echo 1>&2
- INDEX_ECHO_1ST= echo
- .endif
- # /rescue/sh is statically linked and much faster to execute than the
- # dynamically linked /bin/sh. This is significant for targets like
- # make index that execute the shell tens of thousands of times.
- .if exists(/rescue/sh)
- INDEX_SHELL= /rescue/sh
- .else
- INDEX_SHELL= /bin/sh
- .endif
- .if !defined(INDEX_PORTS)
- INDEX_PORTS=.
- .endif
- .if exists(/usr/libexec/make_index)
- MAKE_INDEX= /usr/libexec/make_index /dev/stdin
- .else
- MAKE_INDEX= perl ${.CURDIR}/Tools/make_index
- .endif
- ${INDEXDIR}/${INDEXFILE}: .PHONY
- @${INDEX_ECHO_1ST} "Generating ${INDEXFILE} - please wait.."; \
- if [ "${INDEX_PRISTINE}" != "" ]; then \
- export LOCALBASE=/nonexistentlocal; \
- fi; \
- tmpdir=`/usr/bin/mktemp -d -t index` || exit 1; \
- trap "rm -rf $${tmpdir}; exit 1" 1 2 3 5 10 13 15; \
- ( cd ${.CURDIR}; for i in ${INDEX_PORTS}; do (cd $${i} && ${MAKE} -j${INDEX_JOBS} INDEX_TMPDIR=$${tmpdir} BUILDING_INDEX=1 \
- __MAKE_SHELL=${INDEX_SHELL} \
- ECHO_MSG="${INDEX_ECHO_MSG}" describe); done ) || \
- (rm -rf $${tmpdir} ; \
- if [ "${INDEX_QUIET}" = "" ]; then \
- echo; \
- echo "********************************************************************"; \
- echo "Before reporting this error, verify that you are running a supported"; \
- echo "version of FreeBSD (see https://www.FreeBSD.org/ports/) and that you"; \
- echo "have a complete and up-to-date ports collection. (INDEX builds are"; \
- echo "not supported with partial or out-of-date ports collections."; \
- echo "If that is the case, then"; \
- echo "report the failure to ports@FreeBSD.org together with relevant"; \
- echo "details of your ports configuration (including FreeBSD version,"; \
- echo "your architecture, your environment, and your /etc/make.conf"; \
- echo "settings, especially compiler flags and OPTIONS_SET/UNSET settings)."; \
- echo; \
- echo "Note: the latest pre-generated version of INDEX may be fetched"; \
- echo "automatically with \"make fetchindex\"."; \
- echo "********************************************************************"; \
- echo; \
- fi; \
- exit 1); \
- cat $${tmpdir}/${INDEXFILE}.desc.* | \
- sed -e 's|${.CURDIR}|${PORTSDIR}|g' | \
- (cd ${.CURDIR} ; ${MAKE_INDEX}) | \
- sed -e 's/ */ /g' -e 's/| */|/g' -e 's/ *|/|/g' -e 's./..g' | \
- sort -t '|' -k 2,3 | \
- sed -Ee 's../.g' -e ':a' -e 's|/[^/]+/\.\.||; ta' \
- -e 's|${PORTSDIR}|/usr/ports|g' \
- -e 's|${.CURDIR}|/usr/ports|g' > ${INDEXDIR}/${INDEXFILE}.tmp; \
- if [ "${INDEX_PRISTINE}" != "" ]; then \
- sed -e "s,$${LOCALBASE},/usr/local," ${INDEXDIR}/${INDEXFILE}.tmp > ${INDEXDIR}/${INDEXFILE}; \
- else \
- mv ${INDEXDIR}/${INDEXFILE}.tmp ${INDEXDIR}/${INDEXFILE}; \
- fi; \
- rm -rf $${tmpdir}; \
- echo " Done."
- print-index: ${INDEXDIR}/${INDEXFILE}
- @awk -F\| '{ printf("Port:\t%s\nPath:\t%s\nInfo:\t%s\nMaint:\t%s\nIndex:\t%s\nB-deps:\t%s\nR-deps:\t%s\nE-deps:\t%s\nP-deps:\t%s\nF-deps:\t%s\nWWW:\t%s\n\n", $$1, $$2, $$4, $$6, $$7, $$8, $$9, $$11, $$12, $$13, $$10); }' < ${INDEXDIR}/${INDEXFILE}
- GIT?= git
- .if !defined(SVN) || empty(SVN)
- . for _P in /usr/bin /usr/local/bin
- . for _S in svn svnlite
- . if exists(${_P}/${_S})
- SVN= ${_P}/${_S}
- . endif
- . endfor
- . endfor
- .endif
- RSYNC?= rsync
- PORTSNAP?= portsnap
- PORTSNAP_FLAGS?= -p ${.CURDIR}
- .if !target(update)
- update:
- .if exists(${.CURDIR}/.svn)
- @echo "--------------------------------------------------------------"
- @echo ">>> Updating ${.CURDIR} using Subversion"
- @echo "--------------------------------------------------------------"
- cd ${.CURDIR}; ${SVN} update
- .elif exists(${.CURDIR}/.git)
- . if exists(${.CURDIR}/.git/svn)
- @echo "--------------------------------------------------------------"
- @echo ">>> Updating ${.CURDIR} from git+svn repository"
- @echo "--------------------------------------------------------------"
- cd ${.CURDIR}; ${GIT} svn rebase
- . else
- @echo "--------------------------------------------------------------"
- @echo ">>> Updating ${.CURDIR} from git repository"
- @echo "--------------------------------------------------------------"
- cd ${.CURDIR}; ${GIT} pull --rebase
- . endif
- .elif defined(RSYNC_UPDATE) && defined(PORTS_RSYNC_SOURCE)
- @echo "--------------------------------------------------------------"
- @echo ">>> Updating with ${RSYNC} from ${PORTS_RSYNC_SOURCE}"
- @echo "--------------------------------------------------------------"
- @${RSYNC} ${RSYNC_FLAGS} ${PORTS_RSYNC_SOURCE}/ ${.CURDIR}/
- .else
- @echo "--------------------------------------------------------------"
- @echo ">>> Running ${PORTSNAP}"
- @echo "--------------------------------------------------------------"
- .if !exists(${PORTSDIR}/.portsnap.INDEX)
- @echo "Error: 'make update' uses portsnap(8) by default and"
- @echo "needs ${PORTSDIR} to be created by portsnap on its first run."
- @echo "Please run 'portsnap fetch extract' first."
- .else
- @${PORTSNAP} ${PORTSNAP_FLAGS} fetch
- @${PORTSNAP} ${PORTSNAP_FLAGS} update
- .endif
- .endif
- .endif
|