pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/wm/fvwm3
Module Name: pkgsrc
Committed By: vins
Date: Fri Dec 6 21:10:16 UTC 2024
Modified Files:
pkgsrc/wm/fvwm3: Makefile distinfo options.mk
Added Files:
pkgsrc/wm/fvwm3/patches: patch-doc_meson.build patch-meson.build
patch-meson.options
Log Message:
wm/fvwm3: switch build system to meson.
fvwm3 migration to meson [0] marks te deprecation of the historical
infrastucture based on autotools. Apparently, switching to a different
and more flexible framework was easier than patching for autoconf 2.70.
As of 2024-09-30, there is a six-month timer on autools support in
fvwm3 [1].
In addition, we turn the go option on by default, since it's required by
FvwmPrompt, and will probably be required by any new Fvwm module.
Revision bumped.
[0] https://github.com/fvwmorg/fvwm3/discussions/1068
[1] https://mastodon.social/@thomasadam@bsd.network/113573995984463278
To generate a diff of this commit:
cvs rdiff -u -r1.43 -r1.44 pkgsrc/wm/fvwm3/Makefile
cvs rdiff -u -r1.15 -r1.16 pkgsrc/wm/fvwm3/distinfo
cvs rdiff -u -r1.5 -r1.6 pkgsrc/wm/fvwm3/options.mk
cvs rdiff -u -r0 -r1.1 pkgsrc/wm/fvwm3/patches/patch-doc_meson.build \
pkgsrc/wm/fvwm3/patches/patch-meson.build \
pkgsrc/wm/fvwm3/patches/patch-meson.options
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/wm/fvwm3/Makefile
diff -u pkgsrc/wm/fvwm3/Makefile:1.43 pkgsrc/wm/fvwm3/Makefile:1.44
--- pkgsrc/wm/fvwm3/Makefile:1.43 Sun Dec 1 17:41:15 2024
+++ pkgsrc/wm/fvwm3/Makefile Fri Dec 6 21:10:16 2024
@@ -1,6 +1,7 @@
-# $NetBSD: Makefile,v 1.43 2024/12/01 17:41:15 vins Exp $
+# $NetBSD: Makefile,v 1.44 2024/12/06 21:10:16 vins Exp $
DISTNAME= fvwm3-1.1.1
+PKGREVISION= 1
CATEGORIES= wm x11
MASTER_SITES= ${MASTER_SITE_GITHUB:=fvwmorg/}
GITHUB_RELEASE= ${PKGVERSION_NOREV}
@@ -13,53 +14,48 @@ LICENSE= gnu-gpl-v2 AND mit
CONFLICTS= fvwm-[0-9]* fvwm1-[0-9]* fvwm2-[0-9]* metisse-[0-9]*
-GNU_CONFIGURE= yes
-
-USE_TOOLS+= pkg-config perl:run
-USE_TOOLS+= msgfmt msgmerge xgettext
-USE_TOOLS+= autoconf automake autoreconf
-USE_TOOLS+= gmake # needed for manpages installation
+USE_TOOLS+= grep pkg-config perl sed
+USE_TOOLS+= msgfmt msgmerge xgettext
+USE_PKGLOCALEDIR= yes
DEPENDS+= ${PYPKGPREFIX}-xdg-[0-9]*:../../devel/py-xdg # needed by fvwm-menu-desktop
+PYTHON_FOR_BUILD_ONLY= tool
PYTHON_VERSIONS_INCOMPATIBLE= 27 # wants python3
.include "../../lang/go/go-vars.mk" # required by go linker
-#REPLACE_SH= utils/*.sh
REPLACE_PERL= perllib/FVWM/create-commands
SUBST_CLASSES+= paths
SUBST_STAGE.paths= pre-configure
SUBST_MESSAGE.paths= Replacing hard-coded paths.
-SUBST_FILES.paths= fvwm/fvwm3.c doc/fvwm3_manpage_source.adoc bin/fvwm-menu-desktop.in
-SUBST_VARS.paths= PKG_SYSCONFDIR
+SUBST_FILES.paths= bin/fvwm-menu-desktop.in doc/fvwm3_manpage_source.adoc
+SUBST_FILES.paths+= fvwm/fvwm3.c meson.build
+SUBST_VARS.paths= PKG_SYSCONFDIR SED BUILDLINK_PREFIX.readline
SUBST_SED.paths= -e "s:/etc/system.fvwm2rc:${PKG_SYSCONFDIR}/fvwm/system.fvwm2rc:g"
SUBST_SED.paths+= -e "s:/usr/local/share/fvwm:${PREFIX}/share/fvwm:g"
-# otherwise we get installed scripts that point to the tools directory.
-CONFIGURE_ENV+= ac_cv_path_PYTHON=${PYTHONBIN}
-CONFIGURE_ENV+= ac_cv_path_PERL=${PERL5}
-
-CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR}/fvwm
-CONFIGURE_ARGS+= --with-x
-CONFIGURE_ARGS+= --with-imagepath=${X11BASE}/include/X11/bitmaps:${X11BASE}/include/X11/pixmaps:${PREFIX}/share/pixmaps
-CONFIGURE_ARGS+= --with-iconv-library=${BUILDLINK_PREFIX.iconv}/lib
-CONFIGURE_ARGS+= --with-readline-library=${BUILDLINK_PREFIX.readline}/lib
-CONFIGURE_ARGS+= --with-iconv-includes=${BUILDLINK_PREFIX.iconv}/${BUILDLINK_INCDIRS.iconv:Q}
+MESON_ARGS+= --sysconfdir=${PKG_SYSCONFDIR}/fvwm
+MESON_ARGS+= -Dreadline=enabled # required by FvwmConsole
+MESON_ARGS+= -Dgolang=disabled # handled locally by options.mk
+MESON_ARGS+= -Dlocaledir=${PKGLOCALEDIR}/fvwm3/locale
+MESON_ARGS+= -Dnls=enabled
+MESON_ARGS+= -Dpython=${PYTHONBIN:Q}
+MESON_ARGS+= -Dperl=${PERL5:Q}
.include "options.mk"
-pre-configure:
- set -e; cd ${WRKSRC} && autoreconf -fiv
-
.include "../../converters/libiconv/buildlink3.mk"
.include "../../converters/fribidi/buildlink3.mk"
BUILDLINK_API_DEPENDS.libevent+= libevent>=2.0
+.include "../../devel/gettext-lib/buildlink3.mk"
.include "../../devel/libevent/buildlink3.mk"
+.include "../../devel/meson/build.mk"
.include "../../graphics/png/buildlink3.mk"
.include "../../lang/python/pyversion.mk"
.include "../../x11/xtrans/buildlink3.mk"
+.include "../../x11/libxkbcommon/buildlink3.mk"
.include "../../x11/libXcursor/buildlink3.mk"
.include "../../x11/libXft/buildlink3.mk"
.include "../../x11/libXi/buildlink3.mk"
Index: pkgsrc/wm/fvwm3/distinfo
diff -u pkgsrc/wm/fvwm3/distinfo:1.15 pkgsrc/wm/fvwm3/distinfo:1.16
--- pkgsrc/wm/fvwm3/distinfo:1.15 Sun Dec 1 17:41:15 2024
+++ pkgsrc/wm/fvwm3/distinfo Fri Dec 6 21:10:16 2024
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.15 2024/12/01 17:41:15 vins Exp $
+$NetBSD: distinfo,v 1.16 2024/12/06 21:10:16 vins Exp $
BLAKE2s (fvwm3-1.1.1/fvwm3-1.1.1.tar.gz) = 4b85d786bb7a2c8492f9ba67cb3cd067a9115a04073ccbff1d1d8a7030cb0031
SHA512 (fvwm3-1.1.1/fvwm3-1.1.1.tar.gz) = 66b044a2c463d56573c68f4cdd222a39a667a4acf3425d448c7e1c105e67a9d00abafff1e94c066f0781b4546d1b2b84bc9c20798a0b9ef4b0f673e743a2d4d0
@@ -190,3 +190,6 @@ BLAKE2s (fvwm3-1.1.1/gopkg.in_yaml.v3_@v
SHA512 (fvwm3-1.1.1/gopkg.in_yaml.v3_@v_v3.0.0.zip) = 28237ca1abc2a7712d05a4b684e2088a1354bf7b474c6fe36dd2286a0fa96ff78679269ad183901973bba7ba44c7db07aa4d6f32dfe80650e57499ea38efaedc
Size (fvwm3-1.1.1/gopkg.in_yaml.v3_@v_v3.0.0.zip) = 104597 bytes
SHA1 (patch-bin_fvwm-menu-desktop.in) = 233e16992dbf81efdb4d41421a2904bc24463c16
+SHA1 (patch-doc_meson.build) = 4fa0d191c79356b4b1c40305f1051d93f6fee247
+SHA1 (patch-meson.build) = 4687894a5ff9f337ff8bedb3c11833220aab645f
+SHA1 (patch-meson.options) = 7326f6904901994df5009c114c8c813feece2c03
Index: pkgsrc/wm/fvwm3/options.mk
diff -u pkgsrc/wm/fvwm3/options.mk:1.5 pkgsrc/wm/fvwm3/options.mk:1.6
--- pkgsrc/wm/fvwm3/options.mk:1.5 Sun Jun 9 10:06:30 2024
+++ pkgsrc/wm/fvwm3/options.mk Fri Dec 6 21:10:16 2024
@@ -1,8 +1,8 @@
-# $NetBSD: options.mk,v 1.5 2024/06/09 10:06:30 vins Exp $
+# $NetBSD: options.mk,v 1.6 2024/12/06 21:10:16 vins Exp $
PKG_OPTIONS_VAR= PKG_OPTIONS.fvwm3
PKG_SUPPORTED_OPTIONS= doc go svg
-PKG_SUGGESTED_OPTIONS= doc
+PKG_SUGGESTED_OPTIONS= doc go
.include "../../mk/bsd.options.mk"
@@ -13,20 +13,22 @@ PLIST_VARS+= doc go
#
.if !empty(PKG_OPTIONS:Msvg)
. include "../../graphics/librsvg/buildlink3.mk"
+MESON_ARGS+= -Dsvg=enabled
+.else
+MESON_ARGS+= -Dsvg=disabled
.endif
#
-# Build documentation (requires asciidoctor)
+# Build man pages (requires asciidoctor)
#
.if !empty(PKG_OPTIONS:Mdoc)
-CONFIGURE_ARGS+= --enable-mandoc
+MESON_ARGS+= -Dmandoc=true
TOOL_DEPENDS+= ${RUBY_PKGPREFIX}-asciidoctor-[0-9]*:../../textproc/ruby-asciidoctor
ASCIIDOC= ${PREFIX}/bin/asciidoctor${RUBY_VER}
-CONFIGURE_ENV+= ac_cv_prog_ASCIIDOC=${ASCIIDOC:Q}
. include "../../lang/ruby/rubyversion.mk"
PLIST.doc= yes
.else
-CONFIGURE_ARGS+= --disable-mandoc
+MESON_ARGS+= -Dmandoc=false
.endif
#
@@ -80,13 +82,13 @@ post-extract:
post-build:
. for d in ${GO_MOD_DIRS}
- ${RUN} ${PRINTF} '%s\n' "Making fvwm Go modules in ${d} ... "
+ @${STEP_MSG} "Making fvwm Go modules in ${d} ... "
${RUN} cd ${WRKSRC}/${d} && ${_ULIMIT_CMD} ${PKGSRC_SETENV} ${MAKE_ENV} \
${GO} ${GOFLAGS} install -v ${GO_BUILD_PATTERN}
. endfor
. if !empty(PKG_OPTIONS:Mdoc)
. for i in ${GO_MOD_DOCS}
- ${RUN} ${PRINTF} '%s\n' "Building documentation for ${i} ... "
+ @${STEP_MSG} "Building documentation for ${i} ... "
${RUN} cd ${WRKSRC}/doc && ${ASCIIDOC} -b manpage -a ${i} ${i}.adoc -o ${i}.1
. endfor
. endif
@@ -100,5 +102,5 @@ post-install:
pre-clean:
${RUN} [ -d ${WRKDIR}/.gopath ] && chmod -R +w ${WRKDIR}/.gopath || ${TRUE}
-PLIST.go= yes
+PLIST.go= yes
.endif
Added files:
Index: pkgsrc/wm/fvwm3/patches/patch-doc_meson.build
diff -u /dev/null pkgsrc/wm/fvwm3/patches/patch-doc_meson.build:1.1
--- /dev/null Fri Dec 6 21:10:16 2024
+++ pkgsrc/wm/fvwm3/patches/patch-doc_meson.build Fri Dec 6 21:10:16 2024
@@ -0,0 +1,43 @@
+$NetBSD: patch-doc_meson.build,v 1.1 2024/12/06 21:10:16 vins Exp $
+
+* Always generate FvwmConsole man page.
+* Let pkgsrc handle documentation of go modules.
+
+--- doc/meson.build.orig 2024-11-30 20:43:16.000000000 +0000
++++ doc/meson.build
+@@ -12,6 +12,7 @@ adoc_sources = [
+ 'FvwmBacker.adoc',
+ 'FvwmButtons.adoc',
+ 'FvwmCommand.adoc',
++ 'FvwmConsole.adoc',
+ 'FvwmEvent.adoc',
+ 'FvwmForm.adoc',
+ 'FvwmIconMan.adoc',
+@@ -77,27 +78,6 @@ if get_option('htmldoc')
+ # This is done by using sed to remove the lines that contain the module names.
+ index_src = 'index.adoc.in'
+ index_dst = 'index.adoc'
+- if golang.found()
+- index = configure_file(
+- input: index_src,
+- output: index_dst,
+- command: [
+- sed,
+- '-e', '/FvwmConsole.adoc/d',
+- '@INPUT@',
+- ],
+- capture: true,
+- )
+- adoc_sources += ['FvwmPrompt.adoc']
+- else
+- index = configure_file(
+- input: index_src,
+- output: index_dst,
+- command: [sed, '-e', '/FvwmPrompt.adoc/d', '@INPUT@'],
+- capture: true,
+- )
+- adoc_sources += ['FvwmConsole.adoc']
+- endif
+
+ html_sources = adoc_sources
+
Index: pkgsrc/wm/fvwm3/patches/patch-meson.build
diff -u /dev/null pkgsrc/wm/fvwm3/patches/patch-meson.build:1.1
--- /dev/null Fri Dec 6 21:10:16 2024
+++ pkgsrc/wm/fvwm3/patches/patch-meson.build Fri Dec 6 21:10:16 2024
@@ -0,0 +1,53 @@
+$NetBSD: patch-meson.build,v 1.1 2024/12/06 21:10:16 vins Exp $
+
+* Prevent reference to build directory in perl scripts
+* Fix detection of readline library
+
+--- meson.build.orig 2024-11-30 20:43:16.000000000 +0000
++++ meson.build
+@@ -221,7 +221,7 @@ else
+ endif
+
+ # Perl is a required dependency, we generate shebangs at buildtime
+-perl = find_program('perl', required: true)
++perl = find_program(get_option('perl'), required: true)
+
+ golang = find_program('go', required: get_option('golang'))
+ if golang.found()
+@@ -236,19 +236,28 @@ if golang.found()
+ endif
+ else
+ # the readline dependency is only required for FvwmConsole so let's only check for it if we're not building FvwmPrompt
+- readline = dependency('readline', required: get_option('readline'))
+- if readline.found()
+- all_found_deps += readline
+- conf.set10('HAVE_READLINE', true)
+- # Check for append_history to determine if we have GNU readline
+- if cc.has_function('append_history', dependencies: readline)
+- conf.set10('HAVE_GNU_READLINE', true)
++ readline = cc.find_library(
++ 'edit',
++ dirs: '@BUILDLINK_PREFIX.readline@/lib',
++ has_headers: 'readline.h')
++ if readline.found() == false
++ readline = cc.find_library(
++ 'readline',
++ dirs: '@BUILDLINK_PREFIX.readline@/lib',
++ required: get_option('readline'))
++ if readline.found()
++ all_found_deps += readline
++ conf.set10('HAVE_READLINE', true)
++ # Check for append_history to determine if we have GNU readline
++ if cc.has_function('append_history', dependencies: readline)
++ conf.set10('HAVE_GNU_READLINE', true)
++ endif
+ endif
+ endif
+ endif
+
+ # Sed is used for substitution in several configure_file calls
+-sed = find_program('sed', required: true)
++sed = find_program('@SED@', required: true)
+
+ # Optional dependencies
+ # Tip: 'Feature' types always report 'not found' if disabled
Index: pkgsrc/wm/fvwm3/patches/patch-meson.options
diff -u /dev/null pkgsrc/wm/fvwm3/patches/patch-meson.options:1.1
--- /dev/null Fri Dec 6 21:10:16 2024
+++ pkgsrc/wm/fvwm3/patches/patch-meson.options Fri Dec 6 21:10:16 2024
@@ -0,0 +1,18 @@
+$NetBSD: patch-meson.options,v 1.1 2024/12/06 21:10:16 vins Exp $
+
+Add option to set preferred perl intepreter.
+
+--- meson.options.orig 2024-11-30 20:43:16.000000000 +0000
++++ meson.options
+@@ -65,6 +65,11 @@ option(
+ description: 'Select python implementation',
+ )
+ option(
++ 'perl',
++ type: 'string',
++ description: 'Select perl implementation',
++)
++option(
+ 'readline',
+ type: 'feature',
+ value: 'auto',
Home |
Main Index |
Thread Index |
Old Index