diff options
author | lofi <lofi@FreeBSD.org> | 2003-07-29 12:26:22 +0800 |
---|---|---|
committer | lofi <lofi@FreeBSD.org> | 2003-07-29 12:26:22 +0800 |
commit | 479d487f0145cf1c6b055c0575361c5350c135ac (patch) | |
tree | cd6b53895ab84f4324ba042d08f921529be4ca55 /x11/kde4 | |
parent | 1e8eb5e8be1b2d96efca243817309906398909d6 (diff) | |
download | freebsd-ports-gnome-479d487f0145cf1c6b055c0575361c5350c135ac.tar.gz freebsd-ports-gnome-479d487f0145cf1c6b055c0575361c5350c135ac.tar.zst freebsd-ports-gnome-479d487f0145cf1c6b055c0575361c5350c135ac.zip |
Update KDE to the latest official release, KDE 3.1.3
Official KDE 3.1.3 announcement:
http://www.kde.org/announcements/announce-3.1.3.php
(may not work until a few hours after this commit - we jumped the gun a little
in order to have the update in place at the time the security notifications for
KDE 3.1.2 will be released together with the announcement of KDE 3.1.3).
Changelog from 3.1.2 to 3.1.3 release:
http://www.kde.org/announcements/changelogs/changelog3_1_2to3_1_3.php
Thanks and credits need to go to the whole KDE-FreeBSD team, as well
as everyone on kde@freebsd.org for providing feedback, reporting bugs
and just using the KDE ports.
Approved by: will (real mentor asleep)
Diffstat (limited to 'x11/kde4')
-rw-r--r-- | x11/kde4/Makefile | 152 | ||||
-rw-r--r-- | x11/kde4/Makefile.kde | 7 | ||||
-rw-r--r-- | x11/kde4/files/post-configure-message | 12 | ||||
-rw-r--r-- | x11/kde4/pkg-plist | 2 | ||||
-rw-r--r-- | x11/kde4/scripts/configure.kde3 | 128 |
5 files changed, 280 insertions, 21 deletions
diff --git a/x11/kde4/Makefile b/x11/kde4/Makefile index 3e9ebb3f4c3f..569c371975cf 100644 --- a/x11/kde4/Makefile +++ b/x11/kde4/Makefile @@ -8,7 +8,6 @@ PORTNAME= kde PORTVERSION= ${KDE_VERSION} -PORTREVISION= 1 CATEGORIES= x11 kde MASTER_SITES= # empty DISTFILES= # none @@ -17,22 +16,132 @@ EXTRACT_ONLY= # empty MAINTAINER= kde@FreeBSD.org COMMENT= The "meta-port" for KDE -.if !defined(MINIMAL_KDE) -RUN_DEPENDS+= kjumpingcube:${PORTSDIR}/games/kdegames3 \ - kdessh:${PORTSDIR}/misc/kdeutils3 \ - kword:${PORTSDIR}/editors/koffice-kde3 \ - kppp:${PORTSDIR}/net/kdenetwork3 \ - kview:${PORTSDIR}/graphics/kdegraphics3 \ - kmix:${PORTSDIR}/multimedia/kdemultimedia3 \ - korganizer:${PORTSDIR}/deskutils/kdepim3 \ - cervisia:${PORTSDIR}/devel/kdesdk3 \ - kdevelop:${PORTSDIR}/devel/kdevelop \ - atlantikdesigner:${PORTSDIR}/misc/kdeaddons3 \ - khangman:${PORTSDIR}/misc/kdeedu3 \ - kcron:${PORTSDIR}/sysutils/kdeadmin3 \ - quanta:${PORTSDIR}/www/quanta \ - kmoon:${PORTSDIR}/x11-clocks/kdetoys3 \ - kmatrix.kss:${PORTSDIR}/x11-wm/kdeartwork3 +## This is the file where the selections made in the interactive dialog +## are saved in and initialized from. + +CONFIG_FILE= ${LOCALBASE}/etc/kde-meta.conf + +## The list of all modules that make up KDE, excluding the base modules +## arts, kdebase and kdelibs + +ALL_MODULES= KDEADDONS KDEADMIN KDEARTWORK KDEVELOP KDEEDU KDEGAMES \ + KDEGRAPHICS KDEMULTIMEDIA KDENETWORK KOFFICE KDEPIM KDESDK \ + KDETOYS KDEUTILS QUANTA + +## Forwards parts of the environment to scripts/configure.kde3 + +SCRIPTS_ENV+= ALL_MODULES="${ALL_MODULES}" \ + BATCH="${BATCH}" \ + CAT="${CAT}" \ + CONFIG_FILE="${CONFIG_FILE}" \ + CURDIR="${CURDIR}" \ + ECHO="${ECHO}" \ + ECHO_MSG="${ECHO_MSG}" \ + GREP="${GREP}" \ + MKDIR="${MKDIR}" \ + PKG_DELETE="${PKG_DELETE}" \ + PKG_INFO="${PKG_INFO}" \ + REINPLACE_CMD="${REINPLACE_CMD}" \ + SED="${SED}" \ + TOUCH="${TOUCH}" \ + TR="${TR}" \ + WRKDIRPREFIX="${WRKDIRPREFIX}" + +## If MINIMAL_KDE is defined, define WITHOUT_FOO for every +## module there is. + +.if defined(MINIMAL_KDE) +.for module in ${ALL_MODULES} +WITHOUT_${module}=yes +.endfor +.endif + +## If the user has some WITHOUT_FOO stuff set that matters to us, +## define BATCH so interactive configuration will be skipped. + +.for module in ${ALL_MODULES} +.if defined(WITHOUT_${module}) +BATCH= yes +.endif +.endfor + +## If the user (or the packagecluster) defines batchprocessing, skip +## the interactive configuration. Otherwise declare this port properly +## as interactive, launch the selector script cand include the configuration +## file that's being returned by it (Makefile.inc). Remove the file on make +## clean. + +.if !defined(BATCH) && !defined(PACKAGE_BUILDING) && !defined(MINIMAL_KDE) +IS_INTERACTIVE= yes +PLIST_SUB+= IS_INTERACTIVE="" +.else +PLIST_SUB+= IS_INTERACTIVE="@comment " +.endif + +.if !defined(BATCH) +pre-fetch: + @${RM} -f ${WRKDIRPREFIX}${.CURDIR}/Makefile.inc + @${SETENV} ${SCRIPTS_ENV} ${SH} ${SCRIPTDIR}/configure.kde3 + +post-configure: + @/usr/bin/clear + @${CAT} ${FILESDIR}/post-configure-message + +post-clean: + @${RM} -f ${WRKDIRPREFIX}${.CURDIR}/Makefile.inc + +.if exists(${WRKDIRPREFIX}${.CURDIR}/Makefile.inc) +.include "${WRKDIRPREFIX}${.CURDIR}/Makefile.inc" +.endif + +.endif # !defined(BATCH) + +## Allow to turn off every optional bit of KDE. + +.if !defined(WITHOUT_KDEGAMES) +RUN_DEPENDS+= kjumpingcube:${PORTSDIR}/games/kdegames3 +.endif +.if !defined(WITHOUT_KDEUTILS) +RUN_DEPENDS+= kdessh:${PORTSDIR}/misc/kdeutils3 +.endif +.if !defined(WITHOUT_KOFFICE) +RUN_DEPENDS+= kword:${PORTSDIR}/editors/koffice-kde3 +.endif +.if !defined(WITHOUT_KDENETWORK) +RUN_DEPENDS+= kppp:${PORTSDIR}/net/kdenetwork3 +.endif +.if !defined(WITHOUT_KDEGRAPHICS) +RUN_DEPENDS+= kview:${PORTSDIR}/graphics/kdegraphics3 +.endif +.if !defined(WITHOUT_KDEMULTIMEDIA) +RUN_DEPENDS+= kmix:${PORTSDIR}/multimedia/kdemultimedia3 +.endif +.if !defined(WITHOUT_KDEPIM) +RUN_DEPENDS+= korganizer:${PORTSDIR}/deskutils/kdepim3 +.endif +.if !defined(WITHOUT_KDESDK) +RUN_DEPENDS+= cervisia:${PORTSDIR}/devel/kdesdk3 +.endif +.if !defined(WITHOUT_KDEVELOP) +RUN_DEPENDS+= kdevelop:${PORTSDIR}/devel/kdevelop +.endif +.if !defined(WITHOUT_KDEADDONS) +RUN_DEPENDS+= atlantikdesigner:${PORTSDIR}/misc/kdeaddons3 +.endif +.if !defined(WITHOUT_KDEEDU) +RUN_DEPENDS+= khangman:${PORTSDIR}/misc/kdeedu3 +.endif +.if !defined(WITHOUT_KDEADMIN) +RUN_DEPENDS+= kcron:${PORTSDIR}/sysutils/kdeadmin3 +.endif +.if !defined(WITHOUT_QUANTA) +RUN_DEPENDS+= quanta:${PORTSDIR}/www/quanta +.endif +.if !defined(WITHOUT_KDETOYS) +RUN_DEPENDS+= kmoon:${PORTSDIR}/x11-clocks/kdetoys3 +.endif +.if !defined(WITHOUT_KDEARTWORK) +RUN_DEPENDS+= kmatrix.kss:${PORTSDIR}/x11-wm/kdeartwork3 .endif .if make(package) @@ -45,7 +154,12 @@ USE_KDEBASE_VER=3 NO_BUILD= yes -do-install: # empty - ${DO_NADA} +## Copy Makefile.inc to ${OPTION_FILE} where it will serve as memory of the +## user's last selection. + +do-install: +.if exists(${WRKDIRPREFIX}${.CURDIR}/Makefile.inc) + @${INSTALL_DATA} ${WRKDIRPREFIX}${.CURDIR}/Makefile.inc ${CONFIG_FILE} +.endif .include <bsd.port.mk> diff --git a/x11/kde4/Makefile.kde b/x11/kde4/Makefile.kde index 9dbb43503b28..a974fa4da75e 100644 --- a/x11/kde4/Makefile.kde +++ b/x11/kde4/Makefile.kde @@ -16,7 +16,12 @@ COPY= -c -p _NO_KDE_FINAL= yes _NO_KDE_NDEBUG= yes DISTNAME= ${PORTNAME}-${PKGNAMEPREFIX:S/-$//}-${PORTVERSION} +# Since KDE 3.1.3, the kde-i18n tarballs have the ${KDE_VERSION} +# as part of the name of their toplevel directory, while the +# koffice-i18n ones have not, so we need to take care of that. +.if ${PORTNAME}==koffice-i18n WRKSRC= ${WRKDIR}/${PORTNAME}-${PKGNAMEPREFIX:S/-$//} +.endif DIST_SUBDIR= KDE/kde-i18n # nasty hack to force newer timestamps on cache @@ -68,7 +73,7 @@ CONFIGURE_ARGS+=--enable-final .if defined(PARALLEL_PACKAGE_BUILD) || !defined(WANT_KDE_DEBUG) CONFIGURE_ARGS+=--disable-debug .else -CONFIGURE_ARGS+=--enable-debug +CONFIGURE_ARGS+=--enable-debug=full STRIP='' .endif # defined(PARALLEL_PACKAGE_BUILD) || !defined(WANT_KDE_DEBUG) .endif # !defined(_NO_KDE_NDEBUG) diff --git a/x11/kde4/files/post-configure-message b/x11/kde4/files/post-configure-message new file mode 100644 index 000000000000..9d9e168eb249 --- /dev/null +++ b/x11/kde4/files/post-configure-message @@ -0,0 +1,12 @@ +Configuration finished. Run 'make install' to install the modules +you selected. Run 'make clean && make' to re-enter the configuration. +Please note that you CANNOT REMOVE modules through this menu system, +use pkg_delete instead. + +If you do not want the menu to run, put BATCH=YES into /etc/make.conf +(this will install all KDE modules). + +If you do not want the menu to run AND you do not want specific +modules to be installed, put lines reading 'WITHOUT_<Name-of-Module>=YES' +into /etc/make.conf (for example WITHOUT_KOFFICE=YES). + diff --git a/x11/kde4/pkg-plist b/x11/kde4/pkg-plist index 549a621fec0c..d5d8d29f02ca 100644 --- a/x11/kde4/pkg-plist +++ b/x11/kde4/pkg-plist @@ -1 +1 @@ -@comment this plist intentionally left empty +%%IS_INTERACTIVE%%etc/kde-meta.conf diff --git a/x11/kde4/scripts/configure.kde3 b/x11/kde4/scripts/configure.kde3 new file mode 100644 index 000000000000..d7a418ba9cdf --- /dev/null +++ b/x11/kde4/scripts/configure.kde3 @@ -0,0 +1,128 @@ +#!/bin/sh + +## Create four tempfiles: A tempfile to store the selection from the menu in, +## one to store the same selection after some transformation (for comm), one to +## store the contents of ${ALL_MODULES} (also for comm) and one to store +## the output of pkg_info. + +tempselection=`mktemp -t selection` +tempprocessed=`mktemp -t processed` +tempallmodules=`mktemp -t allmodules` +tempinstalled=`mktemp -t installed` + +## By default, preselect all modules. + +for i in `${ECHO} "${ALL_MODULES}" | ${TR} '[:upper:]' '[:lower:]'` + do + eval status_$i=ON + done + +## If a configfile exists and has actual content, parse it and un-select +## modules accordingly (the configfile is supposed to contain WITHOUT_FOO=yes) +## lines. We don't check what's really in there, it shouldn't do harm when we +## set bogus shell variables. + +if [ -s "${CONFIG_FILE}" ]; then + for i in `${CAT} ${CONFIG_FILE} | ${TR} '[:upper:]' '[:lower:]' \ + | ${SED} -E -e 's/without_//g' -e 's/=yes//g'` + do + eval status_$i=OFF + done + + ## Try to be ubersmart: Check for all installed packages and preselect + ## them. This catches the case where people have added ports without the + ## the metaport, run the metaport again and wonder why they have parts + ## of KDE installed afterwards that were not selected. + ## + ## Bugs: This metaport can check for existing packages, but it cannot + ## remove packages the user explicitly unselects, but which are + ## already installed. + + if [ -f $tempinstalled ];then + ${ECHO_MSG} + ${ECHO_MSG} -n " Looking for installed modules." + + for i in `${ECHO} "${ALL_MODULES}" | ${TR} '[:upper:]' '[:lower:]'` + do + ${PKG_INFO} | ${GREP} $i | ${SED} -e 's/-.*//g' >> $tempinstalled + ${ECHO_MSG} -n "." + done + + for i in `${CAT} $tempinstalled` + do + eval status_$i=ON + done + fi +fi + +## Run the menu dialog, except BATCH is defined. We define BATCH automatically +## if people have WITH_FOO* set in their make.conf or on the commandline. +## Actually, we don't even run this whole script at all if BATCH is defined... +## But I'll leave it in just in case, and also as a reference to andreas@ +## who came up with this kind of configuration magic first and from whose ports +## I've stolen it all. Save the results in the tempselection tempfile. + +if [ -z "${BATCH}" ]; then + /usr/bin/dialog --title "K Desktop Environment Customized Installation" --clear \ + --checklist "\n\ +Please select what additional KDE modules you would like to install.\n\n" \ +-1 -1 15 \ +"KDEADDONS" "Additional plugins and scripts for some KDE applications" "$status_kdeaddons" \ +"KDEADMIN" "KDE applications related to system administration" "$status_kdeadmin" \ +"KDEARTWORK" "Additional themes, sounds, wallpapers and window styles" "$status_kdeartwork" \ +"KDEVELOP" "Powerful IDE for developing KDE/Qt-based applications" "$status_kdevelop" \ +"KDEEDU" "Collection of entertaining, educational programs" "$status_kdeedu" \ +"KDEGAMES" "Games like kolf, patience, atlantik, etc" "$status_kdegames" \ +"KDEGRAPHICS" "Graphics utilities like kview, kpaint, kghostview, etc" "$status_kdegraphics" \ +"KDEMULTIMEDIA" "Multimedia utilities like noatun, kmix, etc" "$status_kdemultimedia" \ +"KDENETWORK" "Network-related programs like kmail, knode, kppp, etc" "$status_kdenetwork" \ +"KOFFICE" "Office Suite including wordprocessor, spreadsheet, etc" "$status_koffice" \ +"KDEPIM" "Personal Information Management" "$status_kdepim" \ +"KDESDK" "KDE software development kit" "$status_kdesdk" \ +"KDETOYS" "Miscellaneous small applications" "$status_kdetoys" \ +"KDEUTILS" "Utilities like kcalc, kcharselect, ark, kedit, etc" "$status_kdeutils" \ +"QUANTA" "Comprehensive website development environment" "$status_quanta" \ +2> $tempselection + + ## Save the return value from dialog. + + retval=$? + + ## Write out all the module names into a newline-delimited list... + + if [ -f $tempallmodules ]; then + ${ECHO} "$ALL_MODULES" | ${SED} -E -e 's/[[:space:]]+/ /g' | ${TR} '[:space:]' '\n' > $tempallmodules + fi + + ## ...do the same for the selection made in the dialog, comm -23 the + ## two files to get the delta and set that as shell variables. + + if [ -s $tempselection ]; then + ${CAT} $tempselection | ${SED} -E -e 's/[[:space:]]+/ /g' \ + -e 's/"//g' | ${TR} '[:space:]' '\n' > $tempprocessed + set `/usr/bin/comm -23 $tempallmodules $tempprocessed` + fi + + ## Clean out the tempfiles. + + rm -f $tempselection $tempprocessed $tempallmodules $tempinstalled + + ## If the user selected "Cancel" in the dialog, exit. + + if [ $retval = 1 ]; then + ${ECHO_MSG} "Aborting" + exit 1 + fi +fi + +## Create Makefile.inc + +${MKDIR} -p ${WRKDIRPREFIX}${CURDIR} +${TOUCH} ${WRKDIRPREFIX}${CURDIR}/Makefile.inc + +## Populate Makefile.inc by writing out the delta we saved above. + +while [ $1 ]; do + ${ECHO} "WITHOUT_$1=yes" >> ${WRKDIRPREFIX}${CURDIR}/Makefile.inc; + shift +done |