Package: puredata
Version: 0.42.5-3
Severity: important
Tags: patch

I just found an important thing to update in the 'puredata' package and I was
hoping to get the new version uploaded soon, since Ubuntu is going to be
taking a Debian/testing snapshot on Feb 11th.  Basically, the package only
includes m_pd.h, but many externals also depend on s_stuff.h, m_imp.h, and
g_canvas.h.  These headers haven'tchanged much in a long time, m_imp.h hasn't
changed at all in 4 years.  If we want to add more externals to Debian, then
those headers will need to be there in order for things to build.

git-format-patch attached.

 * debian/install:
   - changed binary from /usr/bin/pd to /usr/bin/puredata
   - added abstractions from extra to usr/lib/pd/extra
   - added headers needed to build externals: m_imp.h, s_stuff.h, g_canvas.h
 * debian/links: made /usr/bin/pd a link to /usr/bin/puredata
 * debian/menu: made use /usr/bin/puredata to always start this version
 * debian/puredata.desktop:
   - added translations for the Comment field
   - use the /usr/bin/puredata binary
 * debian/patches/05_user-install-paths.diff:
   - added standard paths for people to install their own externals
 * debian/patches/06_bin-puredata.diff:
   - patched pd to call binary /usr/bin/puredata


-- System Information:
Debian Release: 5.0.3
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: i386 (i686)

Kernel: Linux 2.6.26-2-686 (SMP w/1 CPU core)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages puredata depends on:
ii  libasound2                    1.0.16-2   ALSA library
ii  libc6                         2.7-18     GNU C Library: Shared libraries
ii  libjack0                      0.109.2-5  JACK Audio Connection Kit (librari
ii  tcl8.4                        8.4.19-2   Tcl (the Tool Command Language) v8
ii  tk8.4                         8.4.19-2   Tk toolkit for Tcl and X11, v8.4 -

Versions of packages puredata recommends:
pn  gem                           <none>     (no description available)

puredata suggests no packages.

diff --git a/debian/README.Debian b/debian/README.Debian
index 68994f3..e7b7d5d 100644
--- a/debian/README.Debian
+++ b/debian/README.Debian
@@ -30,7 +30,7 @@ Configuration
 Instead of passing your command line flags to pd, you can write them
 into your ~/.pdrc file. Each commandline switch on its own line like
 
- -path /usr/lib/pd/doc
+ -path /usr/local/lib/pd-externals
  -frags 4
  -noadc
  -lib Gem
diff --git a/debian/changelog b/debian/changelog
index 435348f..30df1eb 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,21 @@
+puredata (0.42.5-3.1) unstable; urgency=medium
+
+  * debian/install: 
+    - changed binary from /usr/bin/pd to /usr/bin/puredata
+    - added abstractions from extra to usr/lib/pd/extra
+    - added headers needed to build externals: m_imp.h, s_stuff.h, g_canvas.h
+  * debian/links: made /usr/bin/pd a link to /usr/bin/puredata
+  * debian/menu: made use /usr/bin/puredata to always start this version
+  * debian/puredata.desktop:
+    - added translations for the Comment field
+    - use the /usr/bin/puredata binary
+  * debian/patches/05_user-install-paths.diff:
+    - added standard paths for people to install their own externals
+  * debian/patches/06_bin-puredata.diff:
+    - patched pd to call binary /usr/bin/puredata
+
+ -- Hans-Christoph Steiner <[email protected]>  Tue, 02 Feb 2010 16:55:10 -0500
+
 puredata (0.42.5-3) unstable; urgency=low
 
   * debian/control:
diff --git a/debian/install b/debian/install
index 27144e9..7d5733a 100644
--- a/debian/install
+++ b/debian/install
@@ -1,4 +1,4 @@
-bin/pd usr/bin/
+bin/puredata usr/bin/
 bin/pdsend usr/bin/
 bin/pdreceive usr/bin/
 bin/pd-gui usr/lib/pd/bin/
@@ -6,7 +6,20 @@ bin/pd-watchdog usr/lib/pd/bin/
 bin/pd.tk usr/lib/pd/bin/
 doc/5.reference usr/lib/pd/doc/
 src/m_pd.h usr/include
+src/m_imp.h usr/include
+src/g_canvas.h usr/include
+src/s_stuff.h usr/include
 extra/*/*.pd_linux usr/lib/pd/extra
+extra/*/*.pd_linux          usr/lib/pd/extra
+extra/complex-mod~.pd       usr/lib/pd/extra
+extra/hilbert~.pd           usr/lib/pd/extra
+extra/rev1-final.pd         usr/lib/pd/extra
+extra/rev1~.pd              usr/lib/pd/extra
+extra/rev1-stage.pd         usr/lib/pd/extra
+extra/rev2~.pd              usr/lib/pd/extra
+extra/rev3~.pd              usr/lib/pd/extra
+extra/loop~/test-loop~.pd   usr/lib/pd/extra
+extra/pd~/pd~-subprocess.pd usr/lib/pd/extra
 extra/*-help.pd usr/lib/pd/doc/5.reference/
 extra/*/*-help.pd usr/lib/pd/doc/5.reference/
 debian/puredata.xpm usr/share/pixmaps
diff --git a/debian/links b/debian/links
index e8a0179..6cdf05c 100644
--- a/debian/links
+++ b/debian/links
@@ -5,5 +5,5 @@ usr/share/doc/puredata/4.data.structures  usr/lib/pd/doc/4.data.structures
 usr/share/doc/puredata/6.externs          usr/lib/pd/doc/6.externs
 usr/share/doc/puredata/7.stuff            usr/lib/pd/doc/7.stuff
 usr/share/doc/puredata/sound              usr/lib/pd/doc/sound
-usr/bin/pd                                usr/bin/puredata
+usr/bin/puredata                          usr/bin/pd
 usr/share/man/man1/pd.1.gz                usr/share/man/man1/puredata.1.gz
diff --git a/debian/menu b/debian/menu
index 6f85240..446db4e 100644
--- a/debian/menu
+++ b/debian/menu
@@ -1,4 +1,4 @@
 ?package(puredata):needs="x11" section="Applications/Sound"\
   title="PureData" \
-  command="/usr/bin/pd" \
+  command="/usr/bin/puredata" \
   icon="/usr/share/pixmaps/puredata.xpm"
diff --git a/debian/patches/05_user-install-paths.diff b/debian/patches/05_user-install-paths.diff
new file mode 100644
index 0000000..9893e94
--- /dev/null
+++ b/debian/patches/05_user-install-paths.diff
@@ -0,0 +1,72 @@
+diff --git a/src/s_path.c b/src/s_path.c
+index d74aa0f..fc2eb6a 100644
+--- a/src/s_path.c
++++ b/src/s_path.c
+@@ -69,6 +69,31 @@ void sys_unbashfilename(const char *from, char *to)
+     *to = 0;
+ }
+ 
++/* expand env vars and ~ at the beginning of a path and make a copy to return */
++static void sys_expandpath(const char *from, char *to)
++{
++    if ((strlen(from) == 1 && from[0] == '~') || (strncmp(from,"~/", 2) == 0))
++    {
++#ifdef MSW
++        const char *home = getenv("USERPROFILE");
++#else
++        const char *home = getenv("HOME");
++#endif
++        if(home) 
++        {
++            strncpy(to, home, FILENAME_MAX - 1);
++            strncat(to, from + 1, FILENAME_MAX - strlen(from) - 2);
++        }
++    }
++    else
++        strncpy(to, from, FILENAME_MAX - 1);
++#ifdef MSW
++    char buf[FILENAME_MAX];
++    ExpandEnvironmentStrings(to, buf, FILENAME_MAX - 2);
++    strncpy(to, buf, FILENAME_MAX - 1);
++#endif    
++}
++
+ /* test if path is absolute or relative, based on leading /, env vars, ~, etc */
+ int sys_isabsolutepath(const char *dir)
+ {
+@@ -193,8 +218,16 @@ int sys_usestdpath = 1;
+ 
+ void sys_setextrapath(const char *p)
+ {
++    char pathbuf[FILENAME_MAX];
+     namelist_free(pd_extrapath);
+-    pd_extrapath = namelist_append(0, p, 0);
++    /* add standard place for users to install stuff first */
++
++    sys_expandpath("~/pd-externals", pathbuf);
++    pd_extrapath = namelist_append(0, pathbuf, 0);
++    pd_extrapath = namelist_append(pd_extrapath, "/usr/local/lib/pd-externals", 0);
++
++    /* add built-in "extra" path last so its checked last */
++    pd_extrapath = namelist_append(pd_extrapath, p, 0);
+ }
+ 
+ #ifdef MSW
+@@ -319,11 +352,12 @@ static int do_open_via_path(const char *dir, const char *name,
+             dirresult, nameresult, size, bin)) >= 0)
+                 return (fd);
+ 
+-        /* next look in "extra" */
+-    if (sys_usestdpath &&
+-        (fd = sys_trytoopenone(pd_extrapath->nl_string, name, ext,
+-            dirresult, nameresult, size, bin)) >= 0)
+-                return (fd);
++        /* next look in built-in paths like "extra" */
++    if (sys_usestdpath)
++        for (nl = pd_extrapath; nl; nl = nl->nl_next)
++            if ((fd = sys_trytoopenone(nl->nl_string, name, ext,
++                dirresult, nameresult, size, bin)) >= 0)
++                    return (fd);
+ 
+     *dirresult = 0;
+     *nameresult = dirresult;
diff --git a/debian/patches/06_bin-puredata.diff b/debian/patches/06_bin-puredata.diff
new file mode 100644
index 0000000..7a28553
--- /dev/null
+++ b/debian/patches/06_bin-puredata.diff
@@ -0,0 +1,74 @@
+diff --git a/src/makefile.in b/src/makefile.in
+index cba0f7a..dd5be9f 100644
+--- a/src/makefile.in
++++ b/src/makefile.in
+@@ -1,7 +1,7 @@
+ VPATH = ../obj:./
+ OBJ_DIR = ../obj
+ BIN_DIR = ../bin
+-PDEXEC = $(BIN_DIR)/pd
++PDEXEC = $(BIN_DIR)/puredata
+ EXT= @EXT@
+ GUINAME= @GUINAME@
+ 
+@@ -16,7 +16,7 @@ GFLAGS = -DINSTALL_PREFIX=\"$(prefix)\"
+ 
+ # varibles to match packages/Makefile.buildlayout so that they can be easily
+ # overridden when building Pd-extended builds. <[email protected]>
+-libpddir = $(libdir)/pd
++libpddir = $(libdir)/puredata
+ pddocdir = $(libpddir)/doc
+ libpdbindir = $(libpddir)/bin
+ 
+@@ -81,12 +81,12 @@ endif
+ #  ------------------ targets ------------------------------------
+ #
+ 
+-.PHONY: pd gui externs all
++.PHONY: puredata gui externs all
+ 
+-all: pd $(BIN_DIR)/pd-watchdog gui $(BIN_DIR)/pdsend \
++all: puredata $(BIN_DIR)/pd-watchdog gui $(BIN_DIR)/pdsend \
+     $(BIN_DIR)/pdreceive  $(BIN_DIR)/pd.tk externs
+ 
+-bin: pd $(BIN_DIR)/pd-watchdog gui $(BIN_DIR)/pdsend \
++bin: puredata $(BIN_DIR)/pd-watchdog gui $(BIN_DIR)/pdsend \
+     $(BIN_DIR)/pdreceive  $(BIN_DIR)/pd.tk
+ 
+ $(OBJ) : %.o : %.c
+@@ -98,7 +98,7 @@ $(GOBJ) : %.o : %.c
+ $(ASIOOBJ): %.o : %.cpp
+ 	$(CXX) $(CFLAGS) $(INCLUDE) -c -o $(OBJ_DIR)/$*.o $*.cpp
+ 
+-pd: $(PDEXEC)
++puredata: $(PDEXEC)
+ 
+ ifneq ($(GSRC),)
+ gui: $(BIN_DIR)/$(GUINAME)
+@@ -170,7 +170,7 @@ install:  all
+ 	install $(BIN_DIR)/pd-watchdog $(DESTDIR)$(libpdbindir)/pd-watchdog
+ 	install -m644 $(BIN_DIR)/pd.tk $(DESTDIR)$(libpdbindir)/pd.tk
+ 	install -d $(DESTDIR)$(bindir)
+-	install $(BINARYMODE) $(PDEXEC) $(DESTDIR)$(bindir)/pd
++	install $(BINARYMODE) $(PDEXEC) $(DESTDIR)$(bindir)/puredata
+ 	install -m755 $(BIN_DIR)/pdsend $(DESTDIR)$(bindir)/pdsend
+ 	install -m755 $(BIN_DIR)/pdreceive $(DESTDIR)$(bindir)/pdreceive 
+ 	for dir in $(shell ls -1 ../doc | grep -v CVS); do \
+@@ -202,7 +202,7 @@ install:  all
+ 	@echo "Pd install succeeded."
+ 
+ local-clean:
+-	-rm -f ../obj/* $(BIN_DIR)/pd $(BIN_DIR)/$(GUINAME) $(BIN_DIR)/pdsend \
++	-rm -f ../obj/* $(BIN_DIR)/puredata $(BIN_DIR)/$(GUINAME) $(BIN_DIR)/pdsend \
+ 	    $(BIN_DIR)/pdreceive $(BIN_DIR)/pd-watchdog m_stamp.c
+ 	-rm -f `find ../portaudio -name "*.o"` 
+ 	-rm -f *~
+@@ -232,7 +232,7 @@ makefile.dependencies: makefile
+ 
+ uninstall:
+ 	rm -f -r $(DESTDIR)$(libpddir)
+-	rm -f $(DESTDIR)$(bindir)/pd
++	rm -f $(DESTDIR)$(bindir)/puredata
+ 	rm -f $(DESTDIR)$(bindir)/pdsend
+ 	rm -f $(DESTDIR)$(bindir)/pdreceive
+ 	rm -f $(DESTDIR)$(includedir)/m_pd.h
diff --git a/debian/patches/series b/debian/patches/series
index 6622a23..24e05d8 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -2,3 +2,5 @@
 02_kfreebsd.diff
 03_nostrip.diff
 04_hurd.diff
+05_user-install-paths.diff
+06_bin-puredata.diff
diff --git a/debian/puredata.desktop b/debian/puredata.desktop
index e43b926..a43e974 100644
--- a/debian/puredata.desktop
+++ b/debian/puredata.desktop
@@ -1,9 +1,18 @@
 [Desktop Entry]
-Type=Application
-Name=PureData
-GenericName=
-Comment=
-Icon=puredata.xpm
-Exec=/usr/bin/pd
+Encoding=UTF-8
+Name=Pure Data
+GenericName=Pd
+Comment=Visual dataflow programming platform for multimedia
+Comment[ca]=Plataforma de programaci� visual per aplicacions multim�dia
+Comment[de]=Grafische Datenflussprogrammierung f�r Multimedia
+Comment[es]=Plataforma de programaci�n visual para aplicaciones multimedia
+Comment[fr]=Plateforme de programmation visuelle pour applications multim�dia
+Comment[it]=Piattaforma di programmazione visuale per applicazioni multimedia
+Comment[pt]=Plataforma de programa��o visuais para multimedia
+Exec=/usr/bin/puredata %F
 Terminal=false
-Categories=AudioVideo;Audio;
+Type=Application
+Icon=puredata
+TryExec=puredata
+Categories=AudioVideo;Audio;Video
+StartupNotify=false

Reply via email to